你自以为的极限,只是别人的起点。

            ----十八岁的老男人

目录:

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、秒杀,抢购。

posted on 2018-03-03 13:30  十八岁的老男人  阅读(107)  评论(0)    收藏  举报