Java實(shí)現(xiàn)RedisUtils操作五大集合(增刪改查)
前排提示,我在這個(gè)工具類加了@Component注解,如果在springboot的項(xiàng)目使用,記得通過@Autowired注入使用。
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.*;import org.springframework.stereotype.Component;import java.io.Serializable;import java.util.List;import java.util.Set; @Componentpublic class RedisUtils { @Autowired private RedisTemplate redisTemplate; /** * 寫入String型 [ 鍵,值] * * @param key * @param value * @return */ public boolean set(final String key, Object value) {boolean result = false;try { ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue(); operations.set(key, value); result = true;} catch (Exception e) { e.printStackTrace();}return result; } /** * 寫入String型,順便帶有過期時(shí)間 [ 鍵,值] * * @param key * @param value * @return */ public boolean setWithTime(final String key, Object value,int seconds) {boolean result = false;try { ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue(); operations.set(key, value,seconds, TimeUnit.SECONDS); result = true;} catch (Exception e) { e.printStackTrace();}return result; } /** * 批量刪除對(duì)應(yīng)的value * * @param keys */ public void remove(final String... keys) {for (String key : keys) { remove(key);} } /** * 批量刪除key * * @param pattern */ public void removePattern(final String pattern) {Set<Serializable> keys = redisTemplate.keys(pattern);if (keys.size() > 0) redisTemplate.delete(keys); } /** * 刪除對(duì)應(yīng)的value * * @param key */ public void remove(final String key) {if (exists(key)) { redisTemplate.delete(key);} } /** * 判斷緩存中是否有對(duì)應(yīng)的value * * @param key * @return */ public boolean exists(final String key) {return redisTemplate.hasKey(key); } /** * 讀取緩存 * * @param key * @return */ public Object get(final String key) {Object result = null;ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();result = operations.get(key);return result; } /** * 哈希 添加 * hash 一個(gè)鍵值(key->value)對(duì)集合 * * @param key * @param hashKey * @param value */ public void hmSet(String key, Object hashKey, Object value) { HashOperations<String, Object, Object> hash = redisTemplate.opsForHash(); hash.put(key, hashKey, value); } /** * Hash獲取數(shù)據(jù) * * @param key * @param hashKey * @return */ public Object hmGet(String key, Object hashKey) {HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();return hash.get(key, hashKey); } /** * 列表添加 * list:lpush key value1 * * @param k * @param v */ public void lPush(String k, Object v) {ListOperations<String, Object> list = redisTemplate.opsForList();list.rightPush(k, v); } /** * 列表List獲取 * lrange: key 0 10 (讀取的個(gè)數(shù) 從0開始 讀取到下標(biāo)為10 的數(shù)據(jù)) * * @param k * @param l * @param l1 * @return */ public List<Object> lRange(String k, long l, long l1) {ListOperations<String, Object> list = redisTemplate.opsForList();return list.range(k, l, l1); } /** * Set集合添加 * * @param key * @param value */ public void add(String key, Object value) {SetOperations<String, Object> set = redisTemplate.opsForSet();set.add(key, value); } /** * Set 集合獲取 * * @param key * @return */ public Set<Object> setMembers(String key) { SetOperations<String, Object> set = redisTemplate.opsForSet(); return set.members(key); } /** * Sorted set :有序集合添加 * * @param key * @param value * @param scoure */ public void zAdd(String key, Object value, double scoure) {ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();zset.add(key, value, scoure); } /** * Sorted set:有序集合獲取 * * @param key * @param scoure * @param scoure1 * @return */ public Set<Object> rangeByScore(String key, double scoure, double scoure1) { ZSetOperations<String, Object> zset = redisTemplate.opsForZSet(); return zset.rangeByScore(key, scoure, scoure1); } /** * 根據(jù)key獲取Set中的所有值 * * @param key 鍵 * @return */ public Set<Integer> sGet(String key) {try { return redisTemplate.opsForSet().members(key);} catch (Exception e) { e.printStackTrace(); return null;} } /** * 根據(jù)value從一個(gè)set中查詢,是否存在 * * @param key 鍵 * @param value 值 * @return true 存在 false不存在 */ public boolean sHasKey(String key, Object value) {try { return redisTemplate.opsForSet().isMember(key, value);} catch (Exception e) { e.printStackTrace(); return false;} } }
到此這篇關(guān)于Java實(shí)現(xiàn)RedisUtils操作五大集合(增刪改查)的文章就介紹到這了,更多相關(guān)Java RedisUtils操作內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. python 實(shí)現(xiàn)rolling和apply函數(shù)的向下取值操作2. CSS代碼檢查工具stylelint的使用方法詳解3. 淺談python多線程和多線程變量共享問題介紹4. Python如何批量獲取文件夾的大小并保存5. vue3?Error:Unknown?variable?dynamic?import:?../views/的解決方案6. python利用platform模塊獲取系統(tǒng)信息7. react axios 跨域訪問一個(gè)或多個(gè)域名問題8. Python的Tqdm模塊實(shí)現(xiàn)進(jìn)度條配置9. Python 多線程之threading 模塊的使用10. WML語(yǔ)言的基本情況
