强制停止redis快照导致,redis运行用户没有权限写rdb文件或者磁盘空间满了,解决办法:
例如: 4. redis 127.0.0.1:6379> CONFIG SET logfile "/var/log/redis/redis-server.log" (error) ERR Unsupported CONFIG parameter: logfilelogfile 不能通过set动态设置
5.(error) OOM command not allowed when used memory > 设置了maxmemory的选项,redis内存使用达到上限。 可以通过设置LRU算法来删除部分key,释放空间。 默认是按照过期时间的,如果set时候没有加上过期时间就会导致数据写满maxmemory。 如果不设置maxmemory或者设置为0 64位系统不限制内存,32位系统最多使用3GB内存。
volatile-lru -> 根据LRU算法生成的过期时间来删除。 allkeys-lru -> 根据LRU算法删除任何key。 volatile-random -> 根据过期设置来随机删除key。 allkeys->random -> 无差别随机删。 volatile-ttl -> 根据最近过期时间来删除(辅以TTL) noeviction -> 谁也不删,直接在写操作时返回错误。
6. reids日志位置
logfile 日志记录方式,默认值为stdout,如果设置为stdout且以守护进程方式运行,那么日志会被重定向到/dev/null,也就是不记日志。
7. reids配置参数详解
8.Redis官方文档对VM的使用建议:
当你的key很小而value很大时,使用VM的效果会比较好.因为这样节约的内存比较大. 当你的key不小时,可以考虑使用一些非常方法将很大的key变成很大的value,比如你可以考虑将key,value组合成一个新的value. 最好使用linux ext3 等对稀疏文件支持比较好的文件系统保存你的swap文件. vm-max-threads这个参数,可以设置访问swap文件的线程数,设置最好不要超过机器的核数,如果设置为0,那么所有对swap文件的操作都是串行的.可能会造成比较长时间的延迟,但是对数据完整性有很好的保证. 有了VM功能,Redis终于摆脱了受内存容量限制的噩梦了,似乎我们可以称其为Redis数据库了,我们还可以想象又有多少新的用法可以产生.当然,希望这一功能不会对Redis原有的非常牛B的内存存储性能有所影响.
9. redis修改持久化路径和日志路径
dir /data/redis_cache #持久化路径,修改后 记得要把dump.rdb持久化文件拷贝到/data/redis_cache下先杀掉redis,拷贝dump.rdb,启动
10. 清redis缓存
11. 删除redis当前数据库中的所有Key
12.删除redis所有数据库中的key