Redis五大基本数据类型
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)
1、Redis-Key
Redis常规命令查询:Redis常规命令
1 | 127.0.0.1:6379> keys * # 查询所有的key |
2、String(字符串)
1 | ################################################################################# |
数据结构是相同的!
String类似的使用场景,value除了是我们的字符串还可以是我们的数字!
- 计数器
- 统计多单位的数量
- 粉丝数
- 对象缓存存储
3、List(列表)
在redis里面,可以把list玩成栈、队列、阻塞队列
所有的list命令都是l开头的,不区分大小写命令
1 | ################################################################################# |
小结
- list实际是上一个链表,before Node after,left、right都可以插入值
- 如果key不存在,创建新的链表
- 如果key存在,新增内容
- 如果移除了所有的值,空链表,也代表不存在
- 在两边插入或者改动值,效率最高
应用:消息排队!消息队列(LPush Rpop)、栈(Lpush Lpop)
4、Set(集合)
set中的值是不重复的
1 | ################################################################################# |
微博,A用户将所有关注的人放在一个set集合中,将它的粉丝也放在一个集合中
应用:共同关注、共同爱好、二度好友、推荐好友
5、Hash(哈希)
Map集合,key-map!这个时候,这个值是一个map集合。
本质和String类型没有太大区别,还是一个简单的key-value
1 | 127.0.0.1:6379> hset myhash field1 ldg # set一个具体的key-value |
6、ZSet(有序集合)
在set的基础上,增加了一个值!
1 | 127.0.0.1:6379> zadd myset 1 one |
其余的一些API,通过查看官方文档进行了解
案例思路:set 排序,存储班级成绩表,工资表倒序!
普通消息:1,重要消息:2,带权重进行判断!
排行榜应用实现,取Top N测试!