返回介绍

A.2 REDIS_CMD_DENYOOM

发布于 2024-01-20 13:59:06 字数 1334 浏览 0 评论 0 收藏 0

拥有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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文