作为标题,我发现jedis支持弹出多个元素jedis commands source code
我查看了spring-data-redis项目的源代码,但是找不到任何方法支持这个。
我怎样才能在spring数据redis中弹出多个元素?
答案 0 :(得分:0)
您可以使用SetOperations#pop弹出随机元素。只需定义RedisTemplate
<bean id="jedisConnFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
p:use-pool="true"/>
<bean id="redisTemplate"
class="org.springframework.data.redis.core.RedisTemplate"
p:connection-factory-ref="jedisConnFactory"/>
然后您可以将其注入SetOperations
@Resource(name="redisTemplate")
private SetOperations<String, String> operation;
您可以在Working with Objects through RedisTemplate
找到其他RedisTemplate
次观看
您也可以使用JDK集合界面,请参阅Support Classes
答案 1 :(得分:0)
RedisSetCommands#spop(key, count)
及其SetOperations
中的对应项目前尚未在Spring Data Redis中实现。我已打开DATAREDIS-668以添加对count
选项的支持。
同时,您可以使用RedisTemplate#execute
通过底层连接获取值,让模板负责资源处理。
redisTemplate.execute((RedisCallback<Set<String>>) conn -> {
Jedis jedis = (Jedis) conn.getNativeConnection(); // access native driver
return jedis.spop(key, count);
});