``
1、string—Strings
使用场景:计数器
set name qiye
get name
keys * 查看所有的KEYapp
append name1 jack2
get name
append name jack
get name
del name 删除
设置多个 mset name1 jack1 name2 jack2
查看多个 mget name1 name2
自加:incr
自减:decr
加: incrby
减: decrby
type name1
str_name1 (见名知意)
exists name1
rename name1 name2
2、过期时间
expire name2 10 销毁
persist name2
ttl 返回 -1 代表没有过期时间
ttl 返回 -2 已经过期了
3、list—Lists
# 创建一个键
rpush lname y1 y2 y3 y4 y5 y6 y7
type lname
lrange lname 0 -1
lpush lname g5 g6
rpush lname g7 g8
索引查找: lindex lname 3
# 修改
lset lname 2 y10
# 删除
rpop lname # 删除最后面的
lpop lname # 删除最前面的
4、Hash—Hashes
hash类型是一个string类型的field和value的映射表
# 购物车
Redis的key value键值对模式不变,但value是一个键值对。
添加数据: hset hname name1 jack1
keys *
hget hname name1
hset hnmae name2 jack2
hget hname name2
field 存在,正常读取 field 对应的值。
field 不存在,返回 nil
hmset
field 不存在,直接存储。
field 存在,执行覆盖操作
hmset name1 qiye1 1 qiye2 2 qiye3 3
hmget
hmget name1 qiye1 qiye2 qiye3
hdel 删除域
该命令可以同时删除多个字段,返回值是被删除字段的数量。
field 存在,删除字段,返回被删除字段的数量。
field 不存在, 返回0
hgetall hname 域值对 # 读取全部
hvals hname # 获取指定 key 所有字段的值
hlen hname # 多少个域值对
5、set—Sets
set类型是string类型的集合,其特点是集合元素无序且不重复
# 好友/关注/粉丝/感兴趣的人集合
# 随机展示
# 黑名单/白名单
添加数据: sadd sname g1 g2 g3 g1
查看: smembers sname
spop sname # 随机
spop sname 2 # 数据删两个
srem sname member g1 # 指定删除 可指定多个
scard sname # 获取有多少个元素
6、zset – Sorted sets
添加数据:
zadd zname 10 y2 20 y3 30 y4 40 y5
查看数据:
zrange zname 0 -1
zrangebyscore zname 0 100 分数
zrangebyscore zname 0 20
zscore zname y3 # 查看分数
zcard zname # 查找多少个元素
删除数据:
zrem zname y1
zremrangebyrank zname 0 2 # 索引删除
zremrangebyscore zname 0 20 # 分数删除