是否可以为redis中的值设置大小限制。例如,我只想存储大小小于redis键2 MB的值。大小大于2 MB的值应被跳过。
keyName-sampleRedisKey_1
sampleRedisKey_1的值-一些大小小于2 MB的值
keyName-sampleRedisKey_2
sampleRedisKey_2的值-大于2 MB的某些值
在这两个键中,应该存储sampleRedisKey_1,而不应该存储sampleRedisKey_2。
谢谢。
答案 0 :(得分:0)
如果您的redis版本> = 4.0.0
,则可以使用memory usage
,它将返回以字节为单位的值。在您的应用程序层中,您可以在设置值之前进行比较,如果大小超出则跳到另一个键。
127.0.0.1:6379> set mykey mysmallvalue
OK
127.0.0.1:6379> memory usage mykey
(integer) 61
127.0.0.1:6379> set anotherkey 1
OK
127.0.0.1:6379> memory usage anotherkey
(integer) 52
127.0.0.1:6379>
答案 1 :(得分:0)
对单个Redis对象或类型的大小没有什么限制,您必须在应用程序端进行处理。否则,请使用一些Lua脚本来执行此操作。但是我更喜欢客户端,因为它完全避免了将数据发送到Redis实例。