Redis 启动 五大数据类型

发布于:2023-01-18 ⋅ 阅读:(776) ⋅ 点赞:(0)

目录

Redis介绍

启动redis 并连接

benchmark 压力测试工具

Redis

 select  切换数据库          DBSIZE  查看DB大小

set key value

keys  * 查看数据库中所有的key

​编辑

flushdb  清空当前库的内容

 FLUSHALL   清空所有库的内容

 Redis-key常用命令集合

Redis是单线程的

Redis为什么单线程还这么快?

Redis的五大数据类型

1.String

设value

​编辑

 自增自减 指定增减量

 字符串范围range  截取GETRANGE

替换 SETRANGE

 

 setex 设置过期时间      setnx不存在再设置

 mset mget同时设置 获取多个值​编辑

 set 高阶用法

​编辑

getset  先get然后再set

​编辑

使用场景

2.List

3.Set

4.Hash

5.Zset

三种特殊的数据类型


Redis介绍

可以用作key - value 键值对数据库 、 缓存 、  消息中间件MQ

启动redis 并连接

redis-server redis-config/redis.conf

redis-cli -p 6379

再开一台服务器检查是否启动成功

benchmark 压力测试工具

是官方自带的性能测试工具

   

可见redis是真滴快!

Redis

Redis有16个数据库,默认是第0个

默认端口号是6379   因为redis作者的偶像名字在手机9键打出来是6379

 select  切换数据库          DBSIZE  查看DB大小

set key value

get 根据key读取value的值

 

keys  * 查看数据库中所有的key

flushdb  清空当前库的内容

 FLUSHALL   清空所有库的内容

 

 Redis-key常用命令集合

127.0.0.1:6379> ping  #查看当前连接是否正常,正常返回PONG
PONG
127.0.0.1:6379> clear  #清楚当前控制台(为了更好的看到下面输入的命令)
127.0.0.1:6379> keys *  #查看当前库里所有的key
1) "db"
127.0.0.1:6379> FLUSHALL  #清空所有库的内容
OK
127.0.0.1:6379> keys * 
(empty array)
127.0.0.1:6379> set name dingdada  #添加一个key为‘name’ value为‘dingdada’的数据
OK
127.0.0.1:6379> get name  #查询key为‘name’的value值
"dingdada"
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> set name1 dingdada2
OK
127.0.0.1:6379> get name1
"dingdada2"
127.0.0.1:6379> keys *  #查看当前库里所有的key
1) "name1"
2) "name"
127.0.0.1:6379> EXISTS name  #判断当前key是否存在
(integer) 1
127.0.0.1:6379> move name 1  #移除当前库1的key为‘name‘的数据
(integer) 1
127.0.0.1:6379> keys *
1) "name1"
127.0.0.1:6379> FLUSHALL  #再次清空所有库的内容
OK

## 多加几条数据 下面测试设置key的过期时间
127.0.0.1:6379> set name dingdada
OK
127.0.0.1:6379> set name1 dingdada1
OK
127.0.0.1:6379> set name2 dingdada2
OK
127.0.0.1:6379> EXPIRE name 15  #设置key为’name‘的数据过期时间为15秒 单位seconds
(integer) 1
127.0.0.1:6379> ttl name  #查看当前key为’name‘的剩余生命周期时间
(integer) 13
127.0.0.1:6379> ttl name
(integer) 12
127.0.0.1:6379> ttl name
(integer) 11
127.0.0.1:6379> ttl name
(integer) 8
127.0.0.1:6379> ttl name
(integer) 6
127.0.0.1:6379> ttl name
(integer) 3
127.0.0.1:6379> ttl name
(integer) 2
127.0.0.1:6379> ttl name
(integer) 1
127.0.0.1:6379> ttl name
(integer) 0
127.0.0.1:6379> ttl name  #如若返回-2,证明key已过期
(integer) -2
127.0.0.1:6379> get name    #再次查询即为空
(nil)
127.0.0.1:6379> type name1
string
127.0.0.1:6379> 

 单点登录:设置过期时间

Redis是单线程的

Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程,所以就使用了单线程。

Redis为什么单线程还这么快?

速度  CPU>内存>硬盘

核心:redis是将所有的数据放在内存中的,所以说使用单线程去操作效率就是最高的,多线程的话CPU会上下文切换 这是耗时的操作,对于内存系统来说,没有上下文切换效率就是最高的。多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的。

Redis的五大数据类型

Redis(一)入门:五大数据类型的学习和理解①_大鱼等于负的博客-CSDN博客

1.String

设value

 自增自减 指定增减量

 字符串范围range  截取GETRANGE

替换 SETRANGE

 

 setex 设置过期时间      setnx不存在再设置

 mset mget同时设置 获取多个值

 set 高阶用法

getset  先get然后再set

使用场景

2.List

3.Set

4.Hash

5.Zset

三种特殊的数据类型

geospatial  地理位置空间

hyperloglog

bitmaps


网站公告

今日签到

点亮在社区的每一天
去签到