Redis基本知识总结
Redis 概念
Redis是一种基于键值对(key-value)的NoSQL数据库。比一般键值对数据库强大的地方,Redis中的value支持string(字符串)、hash(哈希)、 list(列表)、set(集合)、zset(有序集合)、Bitmaps(位图)、 HyperLogLog、GEO(地理信息定位)等多种数据结构,因此 Redis可以满足很多的应用场景。
Redis 常用场景
缓存
redis 应用最广泛地方, 基本所有的Web应用都会使用Redis 作为缓存, 提高响应速度
计数器
Redis支持计数功能 经常用来记录浏览量,点赞量等等
排行榜
利用Redis 的 列表和有序集合数据结构, 合理地使用可以方便构建各种排行榜系统
社交网络
社交网络的 粉丝 点赞 踩 共同好友 喜好 推送 下拉刷新等
消息队列
消息队列 Redis提供了发布订阅功能和阻塞队列的功能,可以满足一般消息队列功能
分布式锁
分布式锁 分布式环境下,利用Redis实现分布式锁,也是Redis常见的应用
……
Redis 数据结构
String
字符串主要有以下几个典型使用场景:
- 缓存功能
- 计数
- 共享session
- 限速
- 字符串类型的值实际可以是字符串,数字 二进制 不能超过521MB
Hash
哈希类型是指键值本身又是一个键值对结构.
哈希主要有一下典型应用场景:
- 缓存用户信息
- 缓存对象
List
列表类型是用来存储多个有序的字符串,列表是一种比较灵活的数据结构,它可以充当栈和队列的角色
列表主要有一下几种使用场景:
- 消息队列
- 文章列表
Set
集合 类型也是用来保存多个字符串元素, 但和列表类型不一样的是, 集合中不允许有重复元素,并且集合中的元素是无序的.
集合主要使用场景:
- 标签(tag)
- 共同关注
sorted set
有序集合中的元素可以排序, 但是它和列表使用索引下标作为排序依据不同的是, 她给每个元素设置一个权重(score)作为排序的依据。
有序集合主要应用场景:
- 用户点赞统计
- 用户排序
Bitmap
Bitmap 底层存储的是一种二进制格式的数据,在一些特定场景下,用该类型能够极大的减少存储空间,因为存储的数据只能是0和1。
主要应用场景:
- 签到记录