项目需要,恶补了一下,分享给大家,作为入门了解
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队列应用 redis队列数量限制
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章