Java实现RedisUtils操作五大集合(增删改查)
程序员文章站
2022-03-11 08:17:52
前排提示,我在这个工具类加了@component注解,如果在springboot的项目使用,记得通过@autowired注入使用。import org.springframework.beans.fa...
前排提示,我在这个工具类加了@component注解,如果在springboot的项目使用,记得通过@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; @component public 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型,顺便带有过期时间 [ 键,值] * * @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; } /** * 批量删除对应的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); } /** * 删除对应的value * * @param key */ public void remove(final string key) { if (exists(key)) { redistemplate.delete(key); } } /** * 判断缓存中是否有对应的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 一个键值(key->value)对集合 * * @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获取数据 * * @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 (读取的个数 从0开始 读取到下标为10 的数据) * * @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); } /** * 根据key获取set中的所有值 * * @param key 键 * @return */ public set<integer> sget(string key) { try { return redistemplate.opsforset().members(key); } catch (exception e) { e.printstacktrace(); return null; } } /** * 根据value从一个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; } } }
到此这篇关于java实现redisutils操作五大集合(增删改查)的文章就介绍到这了,更多相关java redisutils操作内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读
-
Java实现对文件的增删改查操作
-
java 项目中通过JDBC 实现sqlite数据库的增删改查操作
-
AJAX实现数据的增删改查操作详解【java后台】
-
Java实现RedisUtils操作五大集合(增删改查)
-
JDBC学习日记--java实现SQLServel数据库的基本增删改查操作
-
Java语言mysql数据库的访问步骤,一个简单的实例——使用DAO(数据库操作类 Data Access Object ) 实现对mysql数据库的增删改查
-
Java实现对文件的增删改查操作
-
如何实现java链表中的基本操作(增、删、查、改)
-
如何实现java链表中的基本操作(增、删、查、改)
-
java实现带头结点的单链表、不带头结点单链表、不带头单向循环链表、不带头双向链表的增删改查操作