您的位置:首页 > 数据库 > Redis

《redis入门指南》读书笔记

2016-07-24 15:31 441 查看
项目需要,恶补了一下,分享给大家,作为入门了解

1.  redis用c开发,3万多行。最新版本:3.2.1

2.支持类型: 字符串 (512M以内),哈希,列表,集合,有序集合

3.redis 官方不支持 windows

4. 可以限定数据占用的最大内存空间,达到空间限制后,按照一定规则自动淘汰不需要的键。

5.所有数据存储在内存中,1秒内读写超过1万个键值对

6. redis是单线程模型,单性能已经足够友谊,基本不会成为瓶颈。在用到高级数据类型或是持久化功能时,比较适用。

7.redis的列表类型键可以实现队列,支持阻塞式读取,从而实现高性能优先级队列

8.启动命令: redis-server;停止命令: redis-cli SHUTDOWN;测试连接: redis-cli  ping

9. 默认端口:6379

10. redis默认支持16个数据库,默认连接0号数据库。select命令更换数据库

11. config set 和 config get 进行配置设置和获取

12.不同应用应该使用不同的redis实例存储数据。不用担心redis实例多而展内存的问题。一个空实例:1MB

13. 查询所有键 KEYS * ; 判定存在: exists bar

14. redis 支持事务:multi

15. 可以设置键值对失效时间:  expire

16. 可以现在每个用户每分钟的访问次数: 做一个计数器。超出值后可以提示等待,1分钟后失效

17. 缓存实现:给键生成生存时间: 先访问缓存,如果有则直接取,没有的话,数据库中获取后,重新赋值,并设置生存时间

$rank = GET cache:rank

if not $ rank

$rank= XXX

multi

set  cache:rank,$rank

expire cache:rank,7200

exec

为防止redis占用内存过大,设定最大内存maxmemory和淘汰规则maxmemory-policy

具体规则包括LRU(最近最少使用)

18.任务队列实现: LPUSH  RPOP

19 redis 和客户端 使用 tcp连接,并支持管道

20. redis 脚本:Lua语言: 原子操作,高效,复用

redis-cli --eval  /path/XXX.lua  参数

21. lua语言:高效轻量级脚本语言,《愤怒的小鸟》实现

22. redis 对json支持: cjson库,MessagePack支持: cmsgpack库

23. redis3.0以上带有 cluster功能:将数据库中的键分散到不同的节点中

24. AOF方式(append only file)默认未开启,开启后,执行每条命令都会 持久化到硬盘中AOF文件(纯文本)

25. 有复制功能,可以实现多个服务器的数据同步: 主从同步: 主数据库:读写,从数据库:读。1主多从。

只需要在从数据库配置文件中加入“slaveof主数据库IP 主数据库端口”

26. 主从启动: redis-server --port 6380 --slaveof 127.0.0.1 6379  ---------从而实现redis的读写分离
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis 性能优化