改动redis服务的ip:port,可以直接对redis缓存读写。
//redis切片链接池
public class RedisShardPoolUtil {
public static ShardedJedisPool pool;
static {
try {
List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
shards.add(new JedisShardInfo("192.168.191.128", 6379));
//shards.add(new JedisShardInfo("127.0.0.2", 6379));
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(300);
config.setMaxIdle(600);
config.setMaxWaitMillis(3000);
pool = new ShardedJedisPool(config, shards);
}catch(Exception e) {
e.printStackTrace();
}
}
public static long setnax(String key, String value) {
ShardedJedis client = null;
try {
client = pool.getResource();
return client.setnx(key, value); //成功返回1
}catch(Exception e) {
e.printStackTrace();
}finally {
client.close();
}
return 0;
}
//对象存储为json串
public static long setnx(String key, Object value) {
ShardedJedis jedis = null;
try {
String json = JSON.toJSONString(value);
jedis = pool.getResource();
return jedis.setnx(key, json);
}catch(Exception e) {
e.printStackTrace();
}finally {
jedis.close();
}
return 0;
}
public static boolean del(String key) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
jedis.del(key);
return true;
}catch(Exception e) {
e.printStackTrace();
return false;
}finally {
jedis.close();
}
}
public static Object get(String key) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.get(key);
}catch(Exception e) {
e.printStackTrace();
return null;
}finally {
jedis.close();
}
}
public static <T> T get(String key,Class<T> clazz) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
String value= jedis.get(key);
return JSON.parseObject(value, clazz);
}catch(Exception e) {
e.printStackTrace();
return null;
}finally {
jedis.close();
}
}
public static boolean checkExists(String key) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.exists(key);
}catch(Exception e) {
e.printStackTrace();
return false;
}finally {
jedis.close();
}
}
//往指定的key追加内容
public static boolean appendStr(String key, String value) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
jedis.append(key, value);
return true;
}catch(Exception e) {
e.printStackTrace();
return false;
}finally {
jedis.close();
}
}
public static long hset(String key, String field,String value) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.hset(key, field, value);
}catch(Exception e) {
e.printStackTrace();
return 0;
}finally {
jedis.close();
}
}
public static Object hget(String key, String field) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.hget(key, field);
}catch(Exception e) {
e.printStackTrace();
return null;
}finally {
jedis.close();
}
}
public static Object hmset(String key, Map<String, String> map) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.hmset(key, map); //成功返回OK
}catch(Exception e) {
e.printStackTrace();
return null;
}finally {
jedis.close();
}
}
public static List<String> hmget(String key, String...fields) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.hmget(key, fields);
}catch(Exception e) {
e.printStackTrace();
return null;
}finally {
jedis.close();
}
}
public static Map<String,String> getAll(String key) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.hgetAll(key);
}catch(Exception e) {
e.printStackTrace();
return null;
}finally {
jedis.close();
}
}
//指定自增,负数自减
public static long hincrby(String key, String field,long value) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.hincrBy(key, field, value);
}catch(Exception e) {
e.printStackTrace();
return 0;
}finally {
jedis.close();
}
}
public static boolean hdel(String key, String...fields) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
jedis.hdel(key, fields);
return true;
}catch(Exception e) {
e.printStackTrace();
return false;
}finally {
jedis.close();
}
}
public static long lpush(String key, String...values) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.lpush(key, values);
}catch(Exception e) {
e.printStackTrace();
return 0;
}finally {
jedis.close();
}
}
public static long rpush(String key, String...values) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.rpush(key, values);
}catch(Exception e) {
e.printStackTrace();
return 0;
}finally {
jedis.close();
}
}
public static List<String> lrange(String key, long start, long end) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.lrange(key, start, end);
}catch(Exception e) {
e.printStackTrace();
return null;
}finally {
jedis.close();
}
}
//从头部删除元素,并返回删除元素
public static String lpop(String key) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.lpop(key);
}catch(Exception e) {
e.printStackTrace();
return null;
}finally {
jedis.close();
}
}
public static String lindex(String key, int index) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.lindex(key, index);
}catch(Exception e) {
e.printStackTrace();
return null;
}finally {
jedis.close();
}
}
public static long llen(String key) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.llen(key);
}catch(Exception e) {
e.printStackTrace();
return 0;
}finally {
jedis.close();
}
}
//集合
public static long sadd(String key, String...values) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.sadd(key, values);
}catch(Exception e) {
e.printStackTrace();
return 0;
}finally {
jedis.close();
}
}
//集合个数
public static long slen(String key) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.scard(key);
}catch(Exception e) {
e.printStackTrace();
return 0;
}finally {
jedis.close();
}
}
public static Set<String> sall(String key) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.smembers(key);
}catch(Exception e) {
e.printStackTrace();
return null;
}finally {
jedis.close();
}
}
//有序集合添加一个或多个
public static long saddorder(String key, Map<String,Double> value) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.zadd(key, value);
}catch(Exception e) {
e.printStackTrace();
return 0;
}finally {
jedis.close();
}
}
//排序
public static List<String> sort(String key, SortingParams params) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
return jedis.sort(key, params);
}catch(Exception e) {
e.printStackTrace();
return null;
}finally {
jedis.close();
}
}
//排序:从大到小
public static List<String> sort(String key) {
ShardedJedis jedis = null;
try {
jedis = pool.getResource();
SortingParams par = new SortingParams();
par.desc();
return jedis.sort(key, par);
}catch(Exception e) {
e.printStackTrace();
return null;
}finally {
jedis.close();
}
}
}
分享到:
相关推荐
本文将详细介绍如何在Spring MVC中整合Redis,并利用连接池来优化性能。 首先,我们需要引入Redis的相关依赖。在Maven项目中,可以在pom.xml文件中添加`spring-data-redis`和`jedis`库,这两个库分别提供了Spring对...
一个简单的支持多个db的redis连接池一个简单的支持多个db的redis连接池一个简单的支持多个db的redis连接池一个简单的支持多个db的redis连接池一个简单的支持多个db的redis连接池一个简单的支持多个db的redis连接池一...
### Redis桌面链接工具Redis Desktop Manager (RDM) 知识点详解 #### 一、简介 Redis Desktop Manager(简称RDM)是一款强大的跨平台Redis数据库管理工具,它为用户提供了一个直观且用户友好的图形界面,使得开发者...
Redis连接池是数据库连接管理的一种策略,主要用于优化数据库操作,特别是在高并发环境下,它可以有效地减少创建和销毁连接的开销,提高系统性能。Ecmall是一个开源的电子商务平台,其在处理大量用户请求时,利用...
Redis链接工具的安装Redis链接工具的安装Redis链接工具的安装Redis链接工具的安装Redis链接工具的安装Redis链接工具的安装Redis链接工具的安装Redis链接工具的安装Redis链接工具的安装Redis链接工具的安装Redis链接...
采用的哨兵集群监控一主两从
Redis Desktop Manager是一款强大的开源图形化界面工具,专为管理和操作Redis键值存储系统而设计。它提供了直观的用户界面,使得数据库的管理变得更加便捷,尤其适合开发者和DBA在日常工作中进行数据查看、编辑和...
在处理大量数据时,单个Redis实例可能无法满足需求,这时就需要引入分片池(Sharding Pool)来扩展存储能力。分片池是将数据分散到多个独立Redis实例的一种策略,以实现水平扩展和负载均衡。 在Redis分片池的设计中...
标题中的"Win32 Redis动态链接库(.Dll)"是指在Windows 32位平台上开发的Redis客户端库,它被设计成一个动态链接库(DLL),允许开发者在他们的C语言程序中直接调用Redis的相关功能。DLL是一种可执行代码的共享库,它...
1.全网最强最好用redis 封装连接池,redis 配置详解 2.jar 内置最全 最安全的两种redis 连接池 创建方式(synchronized and look), 3.通过了自己公司生产环境的检测 4.使用方法:只需要将jar 放入项目 lib 下面 ...
创建jedis池配置实例,redis各种crud方法,包括使用主从同步,读写分离。工具类中包括存放hash表键值对,键值对以map的方式储存,删除键值对,永久存放键值对,设置过期时间,需要的直接去gitHab上看...
Redis连接池介绍和原理
在Java应用中,为了提高性能和资源利用率,通常会使用连接池管理Jedis实例,这就是“redis连接池jar jedis+common”所指的内容。 一、Redis简介 Redis是一个开源的、基于内存的数据结构存储系统,可以作为数据库、...
redis远程链接客户端,非常好用
redis缓存链接工具
# 基于Python和Redis的代理池管理系统 ## 项目简介 这是一个基于Python和Redis的代理池管理系统,旨在提供高效、可靠的代理服务器地址,并对其进行有效性测试和管理。项目通过定时从多个免费代理网站抓取代理...
Flask+Redis维护Cookies池.key
需要使用Redis连接池的话,还需commons-pool包,提供了强大的功能,包含最新的jar包
基于Flask和Redis的代理池项目
Flask+Redis维护Cookies池 代码.txt