Redis设置记录
首先大前提是,这个redis使用的外网端口,需要在防火墙或者安全组中打开
正常在redis配置文件里有个bind,这个默认是127.0.0.1,如果不修改,就是内网可以访问。
这里有个点需要提一下,就是这个bind,如果想要用外网,就把这个注释掉,或者直接写外网IP也行
那么想让Redis能外网访问,需要做的就是
protected-mode no
把这个保护模式改成no即可。重启服务,即可生效
师父说手会斗,然后需要加个主从redis,设置方式比较简单,直接修改配置文件,加个slaveof即可
slaveof 127.0.0.1 7014
还碰到一种情况,就是如果服务器防火墙开着,并且制定端口没有开放,然后启动这个东西,就会报错,提示
解决办法就是把防火墙加个入栈规则即可。
增加Redis日志
# Specify the server verbosity level.
# This can be one of:
# debug (a lot of information, useful for development/testing)
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (moderately verbose, what you want in production probably)
# warning (only very important / critical messages are logged)
loglevel notice #日志等级
logfile "C:/Redis/log/redis.log" #日志保存路径
修改Redis占用内存
Redis设置最大占用内存,打开redis配置文件,找到如下段落,设置maxmemory参数,maxmemory是bytes字节类型,注意转换。修改如下所示:
# maxmemory <bytes> maxmemory 268435456
设置了maxmemory的选项,redis内存使用达到上限。可以通过设置LRU算法来删除部分key,释放空间。默认是按照过期时间的,如果set时候没有加上过期时间就会导致数据写满maxmemory。
如果不设置maxmemory或者设置为0,64位系统不限制内存,32位系统最多使用3GB内存。
LRU是Least Recently Used 近期最少使用算法。
- volatile-lru -> 根据LRU算法生成的过期时间来删除。
- allkeys-lru -> 根据LRU算法删除任何key。
- volatile-random -> 根据过期设置来随机删除key。
- allkeys->random -> 无差别随机删。
- volatile-ttl -> 根据最近过期时间来删除(辅以TTL)
- noeviction -> 谁也不删,直接在写操作时返回错误。
如果设置了maxmemory,一般都要设置过期策略。打开Redis的配置文件有如下描述,Redis有六种过期策略:
maxmemory-policy volatile-lru