0%

Redis简介

Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。

数据类型

String

string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。
string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。

Hash

可以用于存储、读取、修改用户属性。
每个 hash 可以存储 2的32次方-1 个键值对(40多亿)。

List

增删快,提供了操作某一段元素的API。
可以用于1、最新消息排行等功能(比如朋友圈的时间线),2、消息队列。
列表最多可存储 2的32次方-1 个元素(40多亿)。

Set

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
为集合提供了求交集、并集、差集等操作。
可以用于1、共同好友,2、利用唯一性,统计访问网站的所有独立ip,3、好友推荐时,根据tag求交集,大于某个阈值就可以推荐。
集合中最大的成员数为 2的32次方-1。

zset

将Set中的元素增加一个权重参数score,元素按score有序排列。
数据插入集合时,已经进行天然排序。
可以用于1、排行榜,2、带权重的消息队列。