一.redis介绍
Redis基于内存运行并支持持久化
采用key-value(键值对)的存储形式
优点
具有极高的数据读写速度
支持丰富的数据类型
支持数据的持久化
原子性
支持数据备
二.redis 五种数据类型
1.String(字符串)
string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。
string类型是二进制安全的。redis的string可以包含任何数据。比如jpg图片或者序列化的对象。
string类型是redis最基本的数据类型,string类型的值最大能存储512MB。
2.Hash(哈希字典)
Redis hash是一个键值(key=>value)对集合
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象
每个hash可以存储2的32次方-1键值对
//作用场景:
键值对集合,即编程语言中的Map类型
适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值
3.List(列表)
Redis列表是简单的字符串列表,安照插入顺序排序,可以重复。可以添加一个元素到列表的头部(左边)或者尾部(右边)。列表最多可存储2的32次方-1元素。
//作用场景:
增删快,提供了操作某一段元素的API
最新消息排行等功能(比如朋友圈的时间线)或者小心队列
4.Set(集合)
Redis的Set是string类型的无序集合
集合是通过哈希表实现的,所以添加、删除、查找的复杂度都是O(1)
//作用场景:
1.共同好友 2.利用唯一性,统计访问网站的所有独立IP
3.好友推荐时,根据tag求交集,大于某个阈值就可以推荐
sadd命令
添加一个string元素带key对应的set集合中,成功返回1,如果元素已经在集合中放回0
5.zset(sorted set:有序集合)
Reis zset和set一样也是string类型元素的集合,且不允许重复的成员
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序
zset的成员是唯一的,但分数(score)却可以重复
//作用场景
将Set中的元素增加一个权重参数scor