redis启动与配置篇篇

环境:docker+redis
echo $PATH  #可以查看全局环境,可以帮助我们查看redis的启动程序在那些文件夹下面

/usr/local/bin/redis-cli #默认情况下没有密码,直接执行客户端连接便可以进入

vim /mydata/redis/conf/redis.conf #修改密码
requirepass 123456 #添加这一行,表示操作需要登陆认证,重新启动

/usr/local/bin/redis-cli #用这个链接的时候需要用下面这一行进行认证之后才可以操作
auth 123456
image.png
权限控制
#早期解决权限控制采用了下面的命令重命名方法
rename-command flushall "" #空双引号代表这个命令不能用了
rename-command flushdb "myflushdb" 使用这个命令来代替flushdb,防止其他人删除数据
Redis-cli连接
redis-cli -h 192.168.50.128 -p 6379 

windows客户端免费连接工具:
https://github.com/RedisInsight/RedisDesktopManager/releases/tag/0.8.8

redis配置文件解析
./redis-serve /path/to/redis/redis.conf #redis启动的时候需要绑定配置文件
  • includes模块:这个配置主要时针对于不同的环境使用不同的配置文件来方便不同用户操作,比如测试环境就把相应的配置弄在最后一行即可,这个会把当前的配置给代替掉
    include /root/test.conf
    include /root/prd.conf
  • modules:加载第三方模块,不常用,nginx会经常加载第三方模块
  • network:网络配置,常见的配置如下所示
bind 127.0.0.1 #绑定主机,默认只有本机可以访问

protected-mode no #保护模式,默认不允许其他主机访问

port 6379 #默认客户端连接端口号为6379

tcp-backlog 511 #见下面的TIP

timeout 0 #正常情况下一般客户端和服务端建立tcp连接可以保持2小时
          #,设置这个之后如果客户端在这期间空闲时间超过这个指定时间,server端会将这个客户端断开
          #,0默认为永不超时

tcp-keepalive 300 #只有在timeout为0的时候服务端会向客户端发起检测请求查看客户端是否存活
          #,如果检测两次都发现客户端断开连接则会把相应会话消息进行删除(这种方式增加了服务器的负担
          #,不如心跳检测机制灵活)
  • general:常用配置模块
daemonize yes #是否作为守护进程启动

pidfile /var/run/redis_6379.pid #记录进程id,如果没有配置,采用守护进程和不采用守护进程pid产生的效果是不同的
          #,daemonize为yes的时候,pid文件为/var/run/redis.pid,前台启动的时候没有pid文件

loglevel notice # debug(开发使用),verbose(仔细地),notice(适中的),warning(生产环境中常用,输出日志最少)

logfile "" #为空的时候会输出到空设备

databases 16 #数据库数量,使用select dbid来进行选择
  • security:用户设置ACL权限

  • clients:

maxclients 10000 #用于设置客户端连接数量,默认设置为10000,这个和用户可操作的最大文件数量有关
          #,如果超出用户可操作的文件最大数量(减去32个系统使用的文件描述符)
          #,则为该最大可操作文件数量,超过该值会关闭所有新的连接
          #,用户可以操作的最大文件数量使用ulimit -n
          #修改该值在后面这个文件里面vim /etc/security/limits.conf
  • memory managment:内存管理模块,可以控制最大内存和内容移除问题
maxmemory     #bytes 设置内存使用上限,如果使用内存达到上限
      #,则会根据相应移除策略移除相应的key值
      #,如果不能移除则会将相应的内存使用命令返回error

maxmemory-policy noviction  #逐出策略
      #volatile-lru:最长久未使用,只对过期key有作用
      #allkeys-lru:最长久未使用,对所有key起作用
      #volatile-lfu:删除最少使用的
      #volatile-random:随机删除一些key进行删除
      #volatile-ttl:移除接近到国企时间在ttl范围内的key
      #noviction:不进行任何删除,进行内存使用就会返回error

maxmemory-samples 5 #指定要进行删除样本的数量
      #,会从众多的key里面根据LRU算法随机选出5个样本
      #,然后再从这5个样本里面根据maxmemory-policy算法进行删除
      #推荐选用这个数值

maxmemory-eviction-tenaity 10  #移除容忍度
      #,设置为0的时候挑选出删除的key立马就进行删除
      #,为100的时候可能就不太确定什么时候进行删除了,推荐设置为10
  • Thread I/O:#默认关闭的,如果内核在4核的时候建议使用,但是建议留出一核供持久化或则其他使用超过8的时候没有多大的意义
io-threads 1 #通常情况下设置为1

io-threads-do-reads no #没有打开这个开关的情况下,开启的多线程是不会进行读操作的,如果需要进行读操作,则打开这个开关(没有多大的意义)
lscpu #查看系统cpu的数量

TIP:

  • 下面两个命令可以查看linux系统版本
    uname -a
    cat /proc/version
  • TCP中backlog队列的长度在linux中由内核参数somaxconn决定,在redis中这个队列的长度由tcp-backlog参数和somaxconn参数共同决定,那个小就是该队列的长度, 下面这个是查看,在高并发场景下,这个参数过小会影响redis的性能
    cat /proc/sys/net/core/somaxconn
    修改上面这个的参数可以在下面这个文件中进行修改,添加下面的配置即可
    vim /etc/sysctl.conf
    net.core.somaxconn=2048
  • backlog:linux2.2之前采用的一个队列来存放的是一次握手和三次握手的队列,linux2.2之后存放的是两个队列来存放tcp连接队列,一个是SYN_RECEIVED存放已经我收一次的连接,ESTABLISHED用来存放建立三次连接的队列,而我们设置的tcp-backlog就是这个数量
  • docker容器修改somaxconn参数:
    启动容器的时候添加如下指令进行绑定
    -v /proc:/writable-proc
    在使用这一行对绑定的数据进行修改,然后再查看somaxconn就已经被修改了
    echo 1024 > /writable-proc/sys/net/core/somaxconn
  • sysctl -p:不停机的情况下加载我们配置的参数

PHOTO:

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

推荐阅读更多精彩内容