redis基本配置

在修改配置文件之前最好先备份原始的配置文件redis.conf

要不然就在启动的时候指定一个自己的配置文件

# 命令行运行
redis-server [配置文件路径]
  1. 开启其他ip访问的权限

将所有的bind信息全部屏蔽(注释掉)。这里的bind是指绑定本机ip,默认情况下redis是只允许本机访问的.如果不注释掉bind功能,redis就无法通过外网连接,只能在本机上运行

# bind 127.0.0.1
# bind 192.168.1.100 10.0.0.1
  1. 开启守护进程,让redis可以在后台运行
daemonize yes
  1. 根据情况开启/关闭redis保护模式

这里的保护模式是指是否允许其他ip的设备访问redis。如果开启的话,就是只允许本机进行访问了。

protected-mode no
  1. 设置redis数据库的密码

如果要开放外网访问redis,就必须给redis添加密码,否则在外网访问时会发生“服务器积极拒绝”的错误

requirepass 123456
  1. 导入其他配置文件
include /path/to/other.conf
  1. 进程管道id文件

当redis以守护进程方式运行时,(deamonize 设置为 yes)
redus会默认吧pid写入/var/run/redis.pid文件,
可以通过pidfile指定

deamonize yes

pidfile /var/run/redis.pid
# 我也不知道这是干嘛的,linux基础不扎实,暂时不管它
redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。但当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。
服务端开发的大部分应用都是采用后台运行的模式
  1. 配置端口
port 6379
  1. tcp-backlog
设置tcp的backlog
backlog其实是一个连接队列
backlog队列综合 = 未完成三次握手队列 + 已完成三次握手队列
在高并发环境下需要一个高backlog值来避免慢客户端连接问题
注意:linux内核会将这个值减小到/proc/sys/net/core/somaxconn的值
所以需要确认增大somaxconn和tcp_max_syn_backlog两个值,哎达到想要的效果

学习阶段保持官方的出场设置就行
  1. timeout
timeout 0
# 代表连接空闲多少秒之后关闭连接
# 0代表不关闭,保持连接
  1. tcp-keepalive
tcp-keepalive 0
# 设置为0,则不会进行Keepalive检测
# 建议设置成60
  1. loglevel 日志级别
loglevel notice
# debug开发用大片日志
# verbose
# notice
# warning
  1. logfile 日志名字
logfile ""
logfile stdout
# 可以没名字
  1. 系统日志
syslog-enabled no #是否把日志输出到系统日志syslog中
syslog-ident redis #指定syslog里的日志标识
syslog-facility local0 #指定syslog设备,值可以使USER或local0---local7
  1. 设置redis的库有多少
databases 16

snap-shotting

LIMITS

  • 最大连接数
maxclients 10000
# 0表示不做限制
  • 最大内存

指定redis最大内存限制,redis在启动时会把数据加载到内存中,达到最大内存后,redis会先尝试清除已到期或即将到期的key,当此方法处理后,仍然到达最大内存设置,将无法再进行写入操作,但可以读取. redis新的vm机制,会把key存放在内存,value会存放在swap区

maxmemory <bytes>
  • 数据过期策略
maxmemory-policy [policy]
# 一共有五种策略
1. volatile-lru :使用lru算法移除key,只对设置了过期时间的键
2. allkeys-lru :使用lru算法移除key
3. volatile-random :在过期集合中移除随机的key,只对设置了过期时间的键
4. allkeys-lru :在过期集合中移除随机的key
5. volatile-ttl :移除那些ttl值最小的key,即那些最近要过期的key

6. noeviction : 不进行移除. 写入的时候报错
Redis的LRU算法并非完整的实现。
这意味着Redis并没办法选择最佳候选来进行回收,也就是最久未被访问的键。
相反它会尝试运行一个近似LRU的算法,通过对少量keys进行取样,
然后回收其中一个最好的key(被访问时间较早的)。

☆☆☆☆☆☆Redis LRU有个很重要的点,
你通过调整每次回收时检查的采样数量,以实现调整算法的精度。
这个参数可以通过以下的配置指令调整:
maxmemory-samples 5

Redis为什么不使用真实的LRU实现是因为这需要太多的内存。
不过近似的LRU算法对于应用而言应该是等价的。

我理解的是推荐设置成5就够了,太高的采样率浪费cpu
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容