redis-配置

以下所有默认均指的是树莓派上安装的redis3.2.6,并不是通用的

安全security

redis默认没有设置密码,如果想要设置密码有两种方式

  1. 在配置文件中添加requirepass some_password

  2. 在客户端添加密码

    1
    2
    3
    config get requirepass	# 查看是否有密码
    config set requirepass 123456 # 设置密码,设置之后如果不输入密码就无法操作了
    ping # 测试是否连接上

    添加密码后,即刻就失去了redis的操作权限,无法使用命令,输入密码的方式有两种

    • 直接在客户端输入auth some_password即可

    • 退出客户端,在连接时输入密码,当然这种方式不推荐

      1
      sudo docker exec -it redis redis-cli -a 123456

限制limits

  1. 最大连接数:maxclients默认为10000

  2. 最大内存使用量:maxmemory

  3. 最大内存使用量策略:maxmemory-policy默认的为永不过期,是不可能用于实际生产中的,因为数据不会自动移出,只可能越来越多,最后内存溢出报错。正确的做法是将不常使用的数据从内存中移除。如果将来有一天内存想硬盘一样便宜了,或者硬盘的速度赶上内存了,那么这个设置便失去了意义,甚至redis也会失去意义。

    推荐使用的策略:

    • volatile-lru:使用lru算法移除设置了过期时间的数据。lru:less recent use
    • allkeys-lru:使用lru算法移除最近最少使用的数据。
  4. 最大采样:maxmemory-samples默认为5,比较精确的采样不需要修改

守护进程daemon

设置为守护进程启动:daemonize yes

端口port

默认为6379:port 6379

超时设置timeout

默认永不超时:timeout 0

日志级别

默认为notice:loglevel notice

日志位置

默认为:logfile /var/log/redis/redis-server.log

绑定主机bind

默认为本机:bind 127.0.0.1,如果需要远程连接,需要注释掉

数据库存放位置

默认为:dir /var/lib/redis,需要指定一个目录而不是文件