大家好,我是天空之城,今天给大家带来小福利,redis数据库和可视化工具redisdesktopmanager快速入门
redis的五大数据类型
字符串string
列表list
集合set
哈希hash
有序集合zset
这里演示window下操作redis数据库3.0版本,Linux系统下可以安装5.0版本进行演示
首先打开redis数据库的服务器端
进入文件夹下,输入redis-server
启动后见如下界面即为成功启动
接着在该文件夹下重新打开一个窗口,输入redis-cli打开客户端
一、这里分别设置了字符串数据类型
set name wyj
还可以设置多个字符串
mset name wyj age 29 gender 1
同时获取多个
mget name age gender
字符串数据类型的常用命令
set ---- 设置值
get ---- 获取值
mset ---- 设置多个值
mget ---- 获取多个值
append ---- 添加字段
del ---- 删除
strlen ---- 返回字符串长度
参见https://blog.csdn.net/littlespider889/article/details/107335564
二、列表
常用命令
1.lpush/rpush/lrange
lpush/rpush/lrange ---- 从左/从右/获取指定长度
lpush list01 1 2 3 4 5 倒序排列
rpush list02 1 2 3 4 5 正序排列
lrange list01 0 -1 获取list01 中的所有值
2.lpop/rpop
lpop/rpop ---- 移除最左/最右
lpop list01 删除元素5
rpop list01 删除元素1
3.lindex,按照索引下标获得元素(从上到下)
lrange list01 0 -1
lindex list01 1
4.llen,求列表长度
llen list01
5.lrem key
删N个value
lrem list01 2 1 在list01中删除2个1
6.ltrim key
ltrim ---- 开始index结束index,截取指定范围的值后在赋值给key
ltrim list01 0 2 截取list01 从0到2的数据在赋值给list01
三、然后设置了hash数据类型
hmset user id 2 name wyj age 29 gender 1
其中user是hash的键
id name age gender分别是hash值里面的键
2 wyj 29 1分别是hash值里面的值
获取hash下面user的所有键值
hgetall user
判断user的长度
hlen user
判断user下面键是否存在
hexists user id
获取user下面所有键
hkeys user
获取user下面所有值
hvals user
四、集合(不重复)、有序集合
set是string类型的无序集合(键值对)
1.sadd/smembers/sismember
sadd/smembers/sismember ---- 添加/查看集合/查看是否存在
sadd set01 1 2 2 3 3 去掉重复添加
smembers set01 得到set01
sismember set01 1 如果存在返回1 不存在返回0
2.scard
scard ---- 获取集合里面的元素个数
scard set01
3.srem key value
srem ---- 删除集合中元素
srem set01 3
SMEMBERS set01 3已经被删除掉
4.srandmember key
srandmembe ---- 随机出几个数
sadd set02 1 2 3 4 5 6 7 8
srandmember set02 2
5.spop key
spop ---- 随机出栈
spop set01
6.smove key1 key2
sadd set03 x y z
smove set01 set03 2 将set01中的2 移动到set03中
7.数学集合类
sadd set01 1 2 3 4 5
sadd set02 1 2 3 a b
差集
SDIFF set01 set02 返回 4 5 在第一个set中不在第二个set中
交集
SINTER set01 set02 返回 1 2 3
并集
SUNION set01 set02 返回set01 set02 中的值 去掉重复
5.redis-Zset
Zset(有序集合)
1.zadd/zrange
zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5
zrange zset01 0 -1
带分数返回 withscores
2.zrangebyscore key start end
zrangebyscore key start end----根据开始结束来取值
zrangebyscore zset01 60 70
zrangebyscore zset01 60 (90 表示不包含90
zrangebyscore zset01 60 90 limit 1 2 从第一条开始截取2条
3.zrem key
zrem key value---- 某score下对应的value值,作用是删除元素
zrem zset01 v1
4.zcard/zcount key score 区间/zrank key values
zcard 求zset01 总条数
zcount zset01 60 90 求60-90个数
zrank zset01 v2 返回1 返回对应下角标,从0开始