Java操作Redis工具类
Redis安装步骤可参考:
https://www.cnblogs.com/jonban/p/9217221.html
依赖 jar 包
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.0.1</version>
</dependency>
RedisUtils.java
package javax.utils; import java.util.ArrayList;
import java.util.List; import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool; /**
* Redis工具类
*
* @author Logan
* @version 1.0.0
*/
public class RedisUtils { private static ShardedJedisPool jedisPool = null; static {
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); // 设置最大对象数
jedisPoolConfig.setMaxTotal(20); // 最大能够保持空闲状态的对象数
jedisPoolConfig.setMaxIdle(10); // 超时时间
jedisPoolConfig.setMaxWaitMillis(10000); // 在获取连接的时候检查有效性, 默认false
jedisPoolConfig.setTestOnBorrow(true); // 在返回Object时, 对返回的connection进行validateObject校验
jedisPoolConfig.setTestOnReturn(true); // 如果是集群,可以全部加入list中
List<JedisShardInfo> shardInfos = new ArrayList<JedisShardInfo>();
JedisShardInfo shardInfo = new JedisShardInfo("192.168.32.10", 6379);
shardInfo.setPassword("redis123.");
shardInfos.add(shardInfo); jedisPool = new ShardedJedisPool(jedisPoolConfig, shardInfos); } /**
* 从连接池中获取一个ShardedJedis对象
*/
public static ShardedJedis getJedis() {
return jedisPool.getResource();
} /**
* 关闭ShardedJedis对象,放回池中
*/
public static void closeJedis(ShardedJedis jedis) {
jedis.close();
} /**
* 通过key获取String类型Value
*
* @param key 键
* @return 值
*/
public static String get(String key) {
try (
ShardedJedis jedis = jedisPool.getResource();
) { return jedis.get(key);
}
} /**
* 通过key获取字节数组类型Value
*
* @param key 键
* @return 值
*/
public static byte[] get(byte[] key) {
try (
ShardedJedis jedis = jedisPool.getResource();
) { return jedis.get(key);
}
} /**
* 设置String类型key和value
*
* @param key 键
* @param value 值
* @return
*/
public static String set(String key, String value) {
try (
ShardedJedis jedis = jedisPool.getResource();
) { return jedis.set(key, value);
} } /**
* 设置字节数组类型key和value
*
* @param key 键
* @param value 值
* @return
*/
public static String set(byte[] key, byte[] value) {
try (
ShardedJedis jedis = jedisPool.getResource();
) { return jedis.set(key, value);
} } /**
* 删除指定key
*/
public static Long del(String key) {
try (
ShardedJedis jedis = jedisPool.getResource();
) {
return jedis.del(key);
}
} /**
* 左侧放入集合
*
* @param key 键
* @param values 值集合
* @return
*/
public static Long lpush(String key, String... values) {
try (
ShardedJedis jedis = jedisPool.getResource();
) {
return jedis.lpush(key, values);
}
} /**
* 左侧弹出一个元素
*
* @param key 指定键
* @return 左侧第一个元素
*/
public static String lpop(String key) {
try (
ShardedJedis jedis = jedisPool.getResource();
) {
return jedis.lpop(key);
}
} /**
* 右侧放入集合
*
* @param key 键
* @param values 值集合
* @return
*/
public static Long rpush(String key, String... values) {
try (
ShardedJedis jedis = jedisPool.getResource();
) {
return jedis.rpush(key, values);
}
} /**
* 右侧弹出一个元素
*
* @param key 指定键
* @return 右侧第一个元素
*/
public static String rpop(String key) {
try (
ShardedJedis jedis = jedisPool.getResource();
) {
return jedis.rpop(key);
}
} }
Java操作Redis工具类.
Java操作Redis工具类的更多相关文章
- java的redis工具类
package com.mracale.sell.utils; /** * @Auther: Mracale */ import org.springframework.beans.factory.a ...
- Jedis 操作 Redis 工具类
配置类 pom.xml pom.xml 里配置依赖 <dependency> <groupId>redis.clients</groupId> <artifa ...
- Java操作Excel工具类(poi)
分享一个自己做的poi工具类,写不是很完全,足够我自己当前使用,有兴趣的可以自行扩展 1 import org.apache.commons.lang3.exception.ExceptionUtil ...
- java操作excel 工具类
java操作excel 可参考https://blog.csdn.net/xunwei0303/article/details/53213130 直接上代码: 一.java生成excel文件: pac ...
- Java操作FTP工具类(实例详解)
这里使用Apache的FTP jar 包 没有使用Java自带的FTPjar包 工具类 package com.zit.ftp; import java.io.File; import java.i ...
- java操作mongodb工具类
新建maven项目 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht ...
- java操作svn工具类SvnUtil
直接上代码,工作中使用的版本,记录下. public class SvnUtil { private static Logger logger = Logger.getLogger(SvnUtil.c ...
- JAVA 操作Excel工具类
Bean转Excel对象 /* * 文件名:BeanToExcel.java */ import java.util.ArrayList; import java.util.List; import ...
- Redis操作Set工具类封装,Java Redis Set命令封装
Redis操作Set工具类封装,Java Redis Set命令封装 >>>>>>>>>>>>>>>>& ...
随机推荐
- ffmpeg转码多路输出(二)
ffmpeg转码多路输出(二)本程序支持一路输入多路输出,可根据map配置自行添加,第1路为纯拷贝,其他2路经过编解码,格式转换缩放和重采样,纯拷贝方面不同格式适应方面还没做全,以后补充.本程序适合多 ...
- webpack前端自动化构建工具
博主不易,不求赞赏,希望把自己遇到的难点写出来,以及希望自己能有能力写出一篇不错的博文. 前端构建工具本人 bootstrap+jquery用gulp vue+element 用webpack 本人最 ...
- ACM-ICPC 2018 南京赛区网络预赛 E. AC Challenge (状态压缩DP)
Dlsj is competing in a contest with n (0 < n \le 20)n(0<n≤20) problems. And he knows the answe ...
- Python Unittest - 根据不同测试环境跳过用例详解
本文章会讲述以下几个内容: 1.Unittest 如何跳过用例 2.如何使用sys.argv 3.自动化测试项目中如何一套代码多套环境运行 一.Unittest跳过用例 @unittest.skip( ...
- context.xml
<?xml version='1.0' encoding='utf-8'?> <!-- Licensed to the Apache Software Foundation (ASF ...
- jquery——动画
1.通过animate方法可以设置元素某属性值上的动画 <!DOCTYPE html> <html lang="en"> <head> < ...
- ACM-ICPC 2018 南京赛区网络预赛 B. The writing on the wall
题目链接:https://nanti.jisuanke.com/t/30991 2000ms 262144K Feeling hungry, a cute hamster decides to o ...
- python3+Appium自动化02-Capability配置
基本参数 参数 描述 实例 automationName 自动化测试引擎 Appium或 Selendroid platformName 手机操作系统 iOS, Android, 或 FirefoxO ...
- Hive项目实战:用Hive分析“余额宝”躺着赚大钱背后的逻辑
一.项目背景 前两年,支付宝推出的“余额宝”赚尽无数人的眼球,同时也吸引的大量的小额资金进入.“余额宝”把用户的散钱利息提高到了年化收益率4.0%左右,比起银行活期存储存款0.3%左右高出太多了,也正 ...
- Mongodb简介及基本操作
一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性 ...