redis-Jedis使用
redis-Jedis使用
- 概念
- 使用步骤
- jedis操作各种redis的数据结构
- 字符串数据类型:string
- 哈希类型:hash
- 列表类型:list
- 集合类型:set
- 有序集合类型:
- redis连接池
- 步骤
- 连接池工具类
- 配置文件
概念
一款java操作redis数据库工具
使用步骤
- 下载jedis的jar包
- 使用
//连接本地的 Redis 服务
Jedis jedis = new Jedis("localhost");
// 如果 Redis 服务设置了密码,需要下面这行,没有就不需要
// jedis.auth("123456");
System.out.println("连接成功");
//查看服务是否运行
System.out.println("服务正在运行: "+jedis.ping());
jedis操作各种redis的数据结构
字符串数据类型:string
- 存储:set key value
- 获取:get key
- 删除:del key
//1.获取连接
Jedis jedis = new Jedis();//空参,默认是locahost;6379
//2.操作
//存储
jedis.set("username","zhangshan");
//获取
String username = jedis.get("username");
System.out.println(username);//setex()方法存储可以指定过期时间的key value值
jedis.setex("activecode",20,"hehe");//3.关闭连接
jedis.close();
哈希类型:hash
- 存储:hset key field value
- 获取:hset key field:获取指定的field对应的值;hgetall key:获取所有的键和值
- 删除:hdel key field
//1.获取连接
Jedis jedis = new Jedis();//空参,默认是locahost;6379
//2.操作
//存储
jedis.hset("user","name","lisi");
jedis.hset("user","age","23");
jedis.hset("user","gender","male");
//获取
String hget = jedis.hget("user", "name");
System.out.println(hget);//hgetAll()方法获取整个set数据
Map<String, String> user = jedis.hgetAll("user");Set<String> strings = user.keySet();for (String key :strings) {String s = user.get(key);System.out.println(s);
}//3.关闭连接
jedis.close();
列表类型:list
可以添加一个元素到列表的头部(左侧)或者尾部(右侧)
- 添加
- lpush key value :将元素加到列表左边
- rpush key value :将元素加到列表右边
- 查询
- lrange key start end:范围获取
- 删除
lpop key:删除列表最左边的元素并返回
rpop key:删除列表最右边的元素并返回
//1.获取连接
Jedis jedis = new Jedis();//空参,默认是locahost;6379
//2.操作
//存储
jedis.lpush("mylist","a","b","c");
jedis.rpush("mylist","a","b","c");
//获取
List<String> mylist = jedis.lrange("mylist", 0, 1);
System.out.println(mylist);//list弹出
String mylist1 = jedis.lpop("mylist");
System.out.println(mylist1);String mylist2 = jedis.rpop("mylist");
System.out.println(mylist2);//3.关闭连接
jedis.close();
集合类型:set
不允许重复元素
- 存储:sadd key value
- 获取:smembers key:获取set集合的所有元素
- 删除:srem key value:删除集合中的某个元素
//1.获取连接
Jedis jedis = new Jedis();//空参,默认是locahost;6379
//2.操作
//存储
jedis.sadd("myset","java","php","c++");//获取
Set<String> myset = jedis.smembers("myset");
System.out.println(myset);//3.关闭连接
jedis.close();
有序集合类型:
不允许重复元素,且元素有序
- 存储:zadd key score value:
- 获取:zrange key start end:
- 删除:zrem key value
//1.获取连接
Jedis jedis = new Jedis();//空参,默认是locahost;6379
//2.操作
//存储
jedis.zadd("mysortedset",3,"亚瑟");
jedis.zadd("mysortedset",30,"后裔");
jedis.zadd("mysortedset",25,"孙悟空");//获取
List<String> mysortedset = jedis.zrange("mysortedset", 0, -1);
System.out.println(mysortedset);//3.关闭连接
jedis.close();
redis连接池
步骤
- 创建JedisPool连接池对象
- 调用getResource()方法获取Jedis连接
//0.配置
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(50);
jedisPoolConfig.setMaxIdle(10);//1.创建连接池对象
JedisPool jedisPool = new JedisPool(jedisPoolConfig,"localhost",6379);
//2.获取连接
Jedis jedis = jedisPool.getResource();
//存储
jedis.zadd("mysortedset",3,"亚瑟");
jedis.zadd("mysortedset",30,"后裔");
jedis.zadd("mysortedset",25,"孙悟空");//获取
List<String> mysortedset = jedis.zrange("mysortedset", 0, -1);
System.out.println(mysortedset);//3.关闭连接
jedis.close();
连接池工具类
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;/*** JedisPool工具类* 加载配置文件,配置连接池参数* 提供获取连接的方法*/
public class JedisPoolUtils {private static JedisPool jedisPool;static {// 读取配置文件InputStream resourceAsStream = JedisPoolUtils.class.getClassLoader().getResourceAsStream("jedis.properties");
// 创建properties对象Properties properties = new Properties();
// 关联对象try {properties.load(resourceAsStream);} catch (IOException e) {e.printStackTrace();}
// 获取数据,设置到jedisPoolConfig中JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();jedisPoolConfig.setMaxTotal(Integer.parseInt(properties.getProperty("maxTotal")));jedisPoolConfig.setMaxIdle(Integer.parseInt(properties.getProperty("maxIdle")));
// 初始化JedisPooljedisPool = new JedisPool(jedisPoolConfig,properties.getProperty("host"), Integer.parseInt(properties.getProperty("port")));}/*** 获取连接方法* */public static Jedis getJedis(){return jedisPool.getResource();}
}
配置文件
host=127.0.0.1
port=6379
maxTotal=50
maxIdle=10
redis-Jedis使用相关推荐
- Redis实战之征服 Redis + Jedis + Spring (三)
一开始以为Spring下操作哈希表,列表,真就是那么土.恍惚间发现"stringRedisTemplate.opsForList()"的强大,抓紧时间恶补下. 通过spring-d ...
- 使用Servlet 3.0,Redis / Jedis和CDI的简单CRUD –第1部分
在这篇文章中,我们将构建一个简单的用户界面. 数据将存储在Redis中. 为了与Redis交互,我们将使用Jedis库. CDI用于Depedency Injection,而Servlet 3.0用于 ...
- 使用Servlet 3.0,Redis / Jedis和CDI的简单CRUD –第2部分
在本文中,我们将重点介绍CDI和Servlet 3.0. 您可以在此处看到第1部分. 让我们从CDI开始. 当我开始撰写源自该系列的文章时,我并没有考虑撰写CDI. 真诚地说,我以前从未使用过. 这篇 ...
- Redis Jedis
相信大家有着同样的问题,Jedis是什么呢?下面为你详细解答关于Redis Jedis的内容. Jedis到底是什么? 在常见命令中,使用各种Redis自带客户端的命令行方式访问Redis服务. 而在 ...
- 征服 Redis + Jedis + Spring (一)—— 配置常规操作(GET SET DEL)
有日子没写博客了,真的是忙得要疯掉. 完成项目基础架构搭建工作,解决了核心技术问题,接着需要快速的调研下基于Spring框架下的Redis操作. 相关链接: 征服 Redis 征服 Redis + J ...
- Springboot整合redis+jedis
Spring Boot整合Redis+Jedis 1)在pom.xml添加Redis依赖Jedis依赖和,示例代码如下 <!-- <version>2.1.5.RELEASE< ...
- Redis实战之Redis + Jedis
用Memcached,对于缓存对象大小有要求,单个对象不得大于1MB,且不支持复杂的数据类型,譬如SET 等.基于这些限制,有必要考虑Redis! 相关链接: Redis实战 Redis实战之Redi ...
- SpringBoot2.1.9 多Redis Jedis配置
一.配置文件 pom.xml <dependency><groupId>org.springframework.boot</groupId><artifact ...
- [redis] Jedis 与 ShardedJedis 设计
Jedis设计 Jedis作为推荐的java语言redis客户端,其抽象封装为三部分: 对象池设计:Pool,JedisPool,GenericObjectPool,BasePoolableObjec ...
- java Redis Jedis存储Java对象 - (Java序列化为byte数组方式)
2019独角兽企业重金招聘Python工程师标准>>> Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式) Redis入门 – Jedis存储J ...
最新文章
- 最小生成树(kruskal、prim、最小生成森林问题、严格次小生成树)
- Linux命令之du
- matlab同窗口显示图片,[求助]关于GUI的问题,如何在同一窗口里显示四副图片...........
- Python中调用Linux命令并获取返回值
- WEB环境下打印报表的CRYSTAL的解决方案
- 作为一个程序员,数学对你到底有多重要
- 解决Android Studio连接不到ios模拟器问题
- 服务器虚拟化分步实施,服务器虚拟化解决实施方案.doc
- 基于STM32设计的车库监控报警系统
- 人脸识别面试常见题目总结
- 云流化/云渲染技术一种比像素流功能更完善的解决方案
- 彩虹云仿小柯秒赞主题模板
- 【网上教学】实现线上签到和收批作业的方法
- SCSI子系统基础学习笔记 (之UFS子系统) - 1.2 概述(软件部分)
- 苹果笔记本,电源指示灯一直为橙色的解决办法
- 从相机相册获取图片裁剪后用于评论晒图或更换背景图
- JavaScript的事件系列二keydown,keypress,获取键码------JavaScript学习之路4
- 想装吗?看看装B大全
- 计算机不能上网 故障分析,电脑不能上网故障排查方法教程
- 站点部署 廖雪峰的官方网站
热门文章
- 详细介绍Audition输出一个周期2khz的正弦波(循环)。将一段数字音频歌曲数据转换为模拟音频波形输出(循环)。
- RTL8188EUS WIFI驱动编译与使用说明书
- 关于IEEE 754双精度浮点数(double)
- 珍爱网产品经理:为年轻人创造私密、高效的社交空间
- 什么是元编程(meta-promgramming)?
- Android Studio:单选按钮和复选框
- 拙作《互联网时代的软件革命--SaaS架构设计》上市了
- Windows11 win11提示这台电脑不符合安装此版本的Windows所需的最低系统要求怎么解决?
- MATLAB语言实现模拟退火算法求解n维变量的最小值问题
- ⅠB2期和ⅡA2期子宫颈腺癌及腺鳞癌新辅助化疗后手术治疗疗效观察