redis数据类型和应用场景
类型
redis共提供了5中数据类型:
- string
- set
- list
- sorted set
- hash
string
字符串是redis总最常用的数据类型也是我们常说的kv键值对,特点是简单和二进制安全,使用场景十分广泛:session 共享,kv存储,数值计算等等
bitmap
bitmap是对二进制位移的操作,可以实现以下场景:
统计用户登陆,不同时间段的活跃用户统计等
list
list是一个双向链表,特点是可以实现双向的进出数据,根据其特点经常用来作为消息队列
set
无序集合:特点就是无序,元素不重复,但是由于它比较占用内存,因此通常不推荐使用,如果使用可以考虑多个实例下,这样不会阻塞redis线程
由于它是无序的,使用场景十分广泛:两个key值间做差集和并集可以用在不同的场景:
猜你喜欢,好友推荐,随机数等
sorted set
有序集合是一个带有score的kv结构,他的实现借助于skiplist(跳跃表)实现,redis提供了丰富的api,可以实现多个使用场景
使用场景包括:数据排行榜,动态排序
hash
hash是hashtable的实现,常用场景是聚集数据,详情页等譬如用户的个人信息.