美文网首页
Redis基础

Redis基础

作者: 7183 | 来源:发表于2019-08-15 00:12 被阅读0次

读写分离:

在一台Redis服务器承受读写访问达到极限时,就应该考虑建立Redis分布式集群,让不同Redis服务器承受读,写操作,以分流大访问量带来的符合压力问题

主节点设置

min-slaves-to-write 1    //在保证所有从节点(1)连接的情况下,主节点接受写操作,默认值为0

nub-slaves-max-lag 10    //从节点延迟时间,默认设置10秒

上述两个参数一起使用的意思为,在一个从节点连接并且延迟时间大于10秒的情况下,主节点不再接受外部的写请求,等待从节点数据主从同步

在实际集群生产环境及读写分离的情况下,上述两个参数不能为0,否则无法实现读写分离

为了进一步提高主节点写性能,可以在配置文件中注销相关参数,关闭主节点的RDB和AOF持久化功能,在从节点开启持久化功能

从节点默认只提供读操作,并在配置文件中开启持久化参数

内存配置优化:

redis数据库主要基于服务器的内存运行,所以通过对内存使用优化可以进一步提高数据库的运行效率.内存占用过大时,可以考虑对数据本身的各种优化方法,也可以考虑通过对操作系统内存设置功能的优化,来防止内存问题的产生.

1.压缩存储

Redis的列表由链表表示,散列由散列表表示,有序集合用散列表+跳跃表表示,上述数据存储结构都有指针等额外存储空间开销,为了减少对内存的占用,Redis对上述存储结构提供了一种叫压缩列表ZipList的紧凑存储方式来优化对内存的使用空间,根据Redis官网提供的数据,采用ZipList方式,平均可以使内存空间降到原来的1/5.

Zip的两个约束条件

1.仅适用于限制范围(限制存储数据量和数据大小)的数据进行操作

2.仅使用于列表/散列/有序集合和整数值集合.

在Redis.conf配置文件的高级配置部分,可以见到如下配置

list-max-ziplist-entries 512

list-max-ziplist-value 64

列表参数

hash-max-ziplist-entries 512

hash-max-ziplist-value 64

散列表参数

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

有序集合参数

entries表示限定元素数量

value表示一个元素占用存储空间大小不超过多少

使用Ziplist格式存储的话,上述两类的限制都不能突破,任意一项超过限制值都会导致Ziplist进行失效

Redis自带默认值,根据实际测试效果,可以合理增大到(512-3000);带value的参数扩展要谨慎

相关文章

网友评论

      本文标题:Redis基础

      本文链接:https://www.haomeiwen.com/subject/bfabcctx.html