Redis-key
# 查看所有的key
keys *
# set key
set name ku
# 判断当前key 是否存在
EXISTS name
# 移动当前的key到另一个数据库,如果存在当前key,移动失败
move name 1
# 设置key的过期时间,单位是秒
EXPIRE name 10
# 查看当前key的剩余时间
ttl name
# 查看当前key的类型
type name
String 字符串
数据结构是相同的!
- String类似的使用场景:value除了是我们的字符串还可以是我们的数字!
- 计数器
- 统计多单位的数量
- 粉丝数
- 对象缓存存储!
List列表
- 他实际上是一个链表,before Node after , left,right 都可以插入值
- 如果key 不存在,创建新的链表
- 如果key存在,新增内容
- 如果移除了所有值,空链表,也代表不存在!
- 在两边插入或者改动值,效率最高! 中间元素,相对来说效率会低一点
- 消息排队!消息队列 (Lpush Rpop)–先进先出, 栈( Lpush Lpop)–后进先出!
set集合
-
无序,不重复
-
微博,A用户将所有关注的人放在一个set集合中!将它的粉丝也放在一个集合中!
-
共同关注,共同爱好,二度好友,推荐好友!(六度分割理论)
hash(哈希)
- hash变更的数据 user name age,尤其是是用户信息之类的,经常变动的信息!
- hash 更适合于对象的存储,String更加适合字符串存储!
zset 有序集合
- 案例思路:set 排序 存储班级成绩表,工资表排序!
- 普通消息,1, 重要消息 2,带权重进行判断!
- 排行榜应用实现,取Top N 测试!