你自以为的极限,只是别人的起点。
----十八岁的老男人
目录:
1、概述
2、数据类型
3、性能
4、支持的语言
5、使用场景
小记:这些博客是写给自己的,只写干货,去除客套的官方语言。
==================一、简介==========================
redis是使用C语言编写的、开源、高性能的、键值对存储系统。
==================二、数据类型==========================
redis支持String、list(链表)、set(集合)、zset(sorted set-有序集合)、hash(哈希),这些数据类型都支持push/pop、add/remove及取交集、并集、差集以及更丰富的操作,而且这些操作都是原子性的(对数据的操作要么都成功,要么都失败)。
String字符串是redis中最常见的类型,它是二进制安全的,可以包含任何数据如:图片、序列化的对象。一个键最大能存储512MB。
list类型其实就是一个每个子元素都是string类型的双向链表。最大长度是(2的32次方减1),我们可以通过push,pop操作从链表的头部或者尾部添加删除元素。这使得list可以用作栈也可以用作队列。
set是string类型的无序集合,set的最大长度与list一样。set是通过hashtable实现的,hashtable会随着添加、删除自动调整大小。
zset全称为sorted-sets类型,和set数据类型有极为相似,都是字符串的集合,都不允许重复的成员。两者的主要区别是zset的每一个成员都会有一个分数(score)与之关联.redis正是通过分数来为集合中的成员进行从小到大的排序.zset的成员是唯一的,但分数(score)却可以重复,所以Sorted-Sets中的成员在集合中的位置是有序的。
hash是一个String类型的field和value的映射表。
==================三、性能==========================
根据redis官方公布的测试结果:50个并发执行100000请求(设置和获取的值是一个256字节字符串),读的速度是110000次/秒,写的速度是81000次/秒
==================四、支持的语言==========================
redis支持多种语言,这个可以查看官方,官网redis.io。
==================五、数据类型==========================
redis的使用场景,这里先简单罗列,后续详细使用再补充。
1、缓存:经常被查询,但是不经常被修改、删除操作的数据。
2、计数器:统计网站的点击量等。
3、队列:相当于消息系统,ActiveMQ,RocketMQ等工具类似,但是如果对于数据一致性要求高的话还是建议使用专业、成熟的消息系统。
4、分布式集群架构中的session分离。
5、排行榜
6、秒杀,抢购。
浙公网安备 33010602011771号