redis 学习笔记

redis的key的数据类型:hash,list,set,sortedset
一些有用的key相关指令:
keys *;del key;type key;
string类型:set key value;get key;
hash类型:hset key field value;hget key field;hkeys key(返回所有field);hvals key;hgetall (返回所有field和value)
list类型:lpush key string,rpush(右边放),lrange key start end 返回指定区间的所有值,lset key index value指定下标为什么,lrem key count value;从左边删除count个符合value的值,lpop key从左边删除元素并返回,blpop key1,。。。keyN timeout 从左到右,返回对第一个非空的list进行lpop后的结果
set是无序集合,通过hashtable实现,添加删除,查找复杂度为O1,
sadd key member;添加string元素到key对应的集合中,spop key,srem keymember
sorted set,add key score member:添加元素到集合
持久化
1,快照方式(默认),save操作是在主进程中保存的,redis是一个主线成来处理所有客户端的请求的,这样会阻塞所有客户端请求,将所有save注释掉,就不会保存了
2,日志追加方法;appendonly yes启动日志追加
虚拟内存
适用于value比key大
主从同步:

Redis 支持将数据同步到多台从库上,这种特性对提高读取性能非常有益。
1) master 可以有多个 slave。
2) 除了多个 slave 连到相同的 master 外,slave 也可以连接其它 slave 形成图状结构。
3) 主从复制不会阻塞 master。也就是说当一个或多个 slave 与 master 进行初次同步数据
时,master 可以继续处理客户端发来的请求。相反 slave 在初次同步数据时则会阻塞
不能处理客户端的请求。
4) 主从复制可以用来提高系统的可伸缩性 ,我们可以用多个 slave 专门用于客户端的读
请求,比如 sort 操作可以使用 slave 来处理。也可以用来做简单的数据冗余。
5) 可以在 master 禁用数据持久化,只需要注释掉 master 配置文件中的所有 save 配置,

后只在 slave 上配置数据持久化。
5.2. Redis 主从复制的过程介绍
当设置好 slave 服务器后,slave 会建立和 master 的连接,然后发送 sync 命令。无论是
第一次同步建立的连接还是连接断开后的重新连接,master 都会启动一个后台进程,将数据
库快照保存到文件中,同时 master 主进程会开始收集新的写命令并缓存起来。后台进程完
成写文件后,master 就发送文件给 slave,slave 将文件保存到磁盘上,然后加载到内存恢复
数据库快照到 slave 上。接着 master 就会把缓存的命令转发给 slave。而且后续 master 收到
的写命令都会通过开始建立的连接发送给 slave。 master 到 slave 的同步数据的命令和从 客

户端发送的命令使用相同的协议格式。当 master 和 slave 的连接断开时 slave 可以自动重新
建立连接。如果 master 同时收到多个 slave 发来的同步连接命令,只会启动一个进程来写数
据库镜像,然后发送给所有 slave。
配置 slave 服务器很简单,只需要在配置文件中加入如下配置
slaveof 192.168.1.1 6379
#指定 master 的 ip 和端口


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章