文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
A.2 REDIS_CMD_DENYOOM
拥有REDIS_CMD_DENYOOM属性的命令有可能增加Redis占用的存储空间,显然拥有该属性的命令都拥有REDIS_CMD_WRITE属性,但反之则不然。例如,DEL命令拥有REDIS_CMD_WRITE属性,但其总是会减少数据库的占用空间,所以不拥有REDIS_CMD_DENYOOM属性。
当数据库占用的空间达到了配置文件中maxmemory参数指定的值且根据maxmemory-policy参数的空间释放规则无法释放空间时,Redis会拒绝执行拥有REDIS_CMD_DENYOOM属性的命令。
提示 拥有REDIS_CMD_DENYOOM属性的命令每次调用时不一定都会使数据库的占用空间增大,只是有可能而已。例如,SET命令当新值长度小于旧值时反而会减少数据库的占用空间。但无论如何,当数据库占用空间超过限制时,Redis都会拒绝执行拥有REDIS_CMD_DENYOOM属性的命令,而不会分析其实际上是不是会真的增加空间占用。
拥有REDIS_CMD_DENYOOM属性的命令如下:
SET
SETNX
SETEX
PSETEX
APPEND
SETBIT
SETRANGE
INCR
DECR
RPUSH
LPUSH
RPUSHX
LPUSHX
LINSERT
BRPOPLPUSH
LSET
RPOPLPUSH
SADD
SINTERSTORE
SUNIONSTORE
SDIFFSTORE
ZADD
ZINCRBY
ZUNIONSTORE
ZINTERSTORE
HSET
HSETNX
HMSET
HINCRBY
HINCRBYFLOAT
INCRBY
DECRBY
INCRBYFLOAT
GETSET
MSET
MSETNX
SORT
RESTORE
BITOP
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论