簡體   English   中英

Spring Data Redis是否支持彈出多個元素以進行設置操作?

[英]Does Spring data redis support pop multiple elements for set operations?

作為標題,我發現jedis支持彈出多個元素jedis命令源代碼

我查看了spring-data-redis項目的源代碼,但找不到支持此方法的任何方法。

我該怎么做才能在Spring Data Redis中彈出多個元素?

您可以使用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;

您可以在通過RedisTemplate使用對象中找到其他RedisTemplate視圖。

您還可以使用JDK收集接口,請參閱支持類。

Spring Data Redis當前未實現RedisSetCommands#spop(key, count)及其在SetOperations對應SetOperations 我已經打開DATAREDIS-668以添加對count選項的支持。

同時,您可以使用RedisTemplate#execute通過基礎連接獲取值,讓模板負責資源處理。

redisTemplate.execute((RedisCallback<Set<String>>) conn -> {

  Jedis jedis = (Jedis) conn.getNativeConnection(); // access native driver 
  return jedis.spop(key, count);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM