700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 【学习笔记】redis一些配置文件参数详解

【学习笔记】redis一些配置文件参数详解

时间:2020-09-24 05:50:48

相关推荐

【学习笔记】redis一些配置文件参数详解

配置文件

打开redis配置文件:

日志级别

loglevel

指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为notice

四个级别根据使用阶段来选择,生产环境选择notice 或者warning

设置密码

访问密码的查看、设置和取消

在命令中设置密码,只是临时的。重启redis服务器,密码就还原了。

永久设置,需要再配置文件中进行设置。

maxclients

 设置redis同时可以与多少个客户端进行连接。

 默认情况下为10000个客户端。

 如果达到了此限制,redis则会拒绝新的连接请求,并且向这些连接请求方发出“max number of clients reached”以作回应

maxmemory

 建议必须设置,否则,将内存占满,造成服务器宕机

 设置redis可以使用的内存量。一旦到达内存使用上限,redis将会试图移除内部数据,移除规则可以通过maxmemory-policy来指定。

 如果redis无法根据移除规则来移除内存中的数据,或者设置了“不允许移除”,那么redis则会针对那些需要申请内存的指令返回错误信息,比如SET、LPUSH等。

 但是对于无内存申请的指令,仍然会正常响应,比如GET等。如果你的redis是主redis(说明你的redis有从redis),那么在设置内存使用上限时,需要在系统中留出一些内存空间给同步队列缓存,只有在你设置的是“不移除”的情况下,才不用考虑这个因素。

移除key的策略

maxmemory-policy

 volatile-lru:使用LRU算法移除key,只对设置了过期时间的键;(最近最少使用)

 allkeys-lru:在所有集合key中,使用LRU算法移除key

 volatile-random:在过期集合中移除随机的key,只对设置了过期时间的键

 allkeys-random:在所有集合key中,移除随机的key

 volatile-ttl:移除那些TTL值最小的key,即那些最近要过期的key

 noeviction:不进行移除。针对写操作,只是返回错误信息

maxmemory-samples

 设置样本数量,LRU算法和最小TTL算法都并非是精确的算法,而是估算值,所以你可以设置样本的大小,redis默认会检查这么多个key并选择其中LRU的那个。

 一般设置3到7的数字,数值越小样本越不准确,但性能消耗越小。

发布订阅

订阅:

SUBSCRIBE channel1

发布:

publish channel1 hello 返回订阅者数量

bitmap

Redis提供了Bitmaps这个“数据类型”可以实现对位的操作:

(1) Bitmaps本身不是一种数据类型, 实际上它就是字符串(key-value) , 但是它可以对字符串的位进行操作。

(2) Bitmaps单独提供了一套命令, 所以在Redis中使用Bitmaps和使用字符串的方法不太相同。 可以把Bitmaps想象成一个以位为单位的数组, 数组的每个单元只能存储0和1, 数组的下标在Bitmaps中叫做偏移量。

(1)格式

setbit设置Bitmaps中某个偏移量的值(0或1)

*offset:偏移量从0开始

(2)实例

每个独立用户是否访问过网站存放在Bitmaps中, 将访问的用户记做1, 没有访问的用户记做0, 用偏移量作为用户的id。

设置键的第offset个位的值(从0算起) , 假设现在有20个用户,userid=1, 6, 11, 15, 19的用户对网站进行了访问, 那么当前Bitmaps初始化结果如图

2、getbit

(1)格式

getbit获取Bitmaps中某个偏移量的值

(2)实例

获取id=8的用户是否在-11-06这天访问过, 返回0说明没有访问过:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。