Redis学习笔记

以前在有道云笔记整理的内容,发到博客上来做个备份。

1. Redis数据库完全在内存中,使用磁盘仅用于持久性。
2. Redis拥有一套较为丰富的数据类型。
3. Redis可以将数据复制到任意数量的从服务器。
优势
1. 每秒能执行约11万集合,每秒约81000+条记录
2. 列表,集合,有序集合,散列数据类型
3. 所有Redis操作是原子的
4. 缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的
数据,应用程序,如Web应用程序会话,网页命中计数等。
 
 
Strings - 字符串
Redis的字符串是字节序列。在Redis中字符串是二进制安全的,这意味
着他们有一个已知的长度,是没有任何特殊字符终止决定的,所以可以存储任何东西,最大长度可达512M。
set name haiwan =>OK
get name =>"haiwan"
del name => 1
 

列表(List)

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

一个列表最多可以包含 232- 1 个元素 (4294967295, 每个列表超过40亿个元素)。

lpush myrange 1 =>1

lpush myange 2 => 2

lpush myrange 3 => 3

lpush myrange ok =>4

lpush myrange yes =>yes

lpop myrange  =>"yes"

rpop myrange =>"1"

lrange myrange 0 2 =>1>"ok" 2>"3" 3>"2"

集合(Set)
Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

sadd haiwan hao => 1

sadd haiwan miao =>1

sadd haiwan ok =>1

sadd haiwan ok =>0

smembers haiwan =>  1>"ok" 2>"miao" 3> "hao"

有序集合(sorted set)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。 redis正是通过分数来为集合中的成员进行从小到大的排序。
zadd haiwan 1 redis => 1
zadd haiwan 3 mysql => 1
zadd haiwan 2 mongodb => 1
zrange haiwan 0 10 withsocres =>1>"redis" 2>"1" 3> "mongodb" 4>"2" 5>"mysql" 6>"3"
 
 
发布订阅
Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
subsribe haiwan ==> Reading message....
publish haiwan good ==> 1
publis haiwan hao ==>1
 
事务
Redis 事务可以一次执行多个命令
一个事务从开始到执行会经历以下三个阶段:
开始事务。
命令入队。
执行事务。

原文地址:https://www.cnblogs.com/ibyte/p/5740423.html