Redis(十五)-Jedis操作测试
Posted 码农飞哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis(十五)-Jedis操作测试相关的知识,希望对你有一定的参考价值。
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦。
💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精通
❤️ 2. Python爬虫专栏,系统性的学习爬虫的知识点。9.9元买不了吃亏,买不了上当 。python爬虫入门进阶
❤️ 3. Ceph实战,从原理到实战应有尽有。 Ceph实战
❤️ 4. Java高并发编程入门,打卡学习Java高并发。 Java高并发编程入门
😁 5. 社区逛一逛,周周有福利,周周有惊喜。码农飞哥社区,飞跃计划
全网同名【码农飞哥】欢迎关注,个人VX: wei158556
文章目录
简介
前面的文章详细介绍了用命令行如何操作Redis,本文将介绍利用Jedis客户端来操作Redis。Jedis是一个Java操作Redis的客户端。
创建项目
Jedis是一个Java操作Redis的客户端。故先需要创建一个Java项目,这里首先创建一个Maven管理的Java项目。
- 创建Maven项目
打开IDEA,点击 File---->New---->Module 。
此处选择 Maven 按钮。点击 Next。
这里在GroupId 中指定项目的包路径 com.jay。
在ArtifactId中指定项目名为 jedis_redis_demo。
接着点击 Next。
项目就创建好了,创建完成之后目录如下;
2. 引入依赖
<!--jedis客户端-->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.6.0</version>
</dependency>
<!--jedis客户端-->
<!--单元测试用-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>compile</scope>
</dependency>
<!--单元测试用-->
3. 定义操作类JedisDemo。
// 创建jedis对象
Jedis jedis = new Jedis("127.0.0.1", 6379);
String ping = jedis.ping();
System.out.println(ping);
通过jedis.ping() 测试redis的联通性。
如果提示connect timed out
的话则表示未能连接上Redis服务器。
这时候就需要检查两个方面
- 检查redis.conf 配置文件
redis.conf配置文件主要检查 bind配置已经protected-mode 配置。
#将bind配置屏蔽
#bind 127.0.0.1 -::1
#将保护模式关闭,即改成no
protected-mode no
配置文件修改好之后,重启Redis服务器。
- 关闭防火墙
如果 redis.conf 配置文件修改好了并重启好Redis服务器,但是还是连不上Redis服务器的话,这时候就需要考虑检查下防火墙了。
#检查防火墙的状态
systemctl status firewall
如果状态是 active(running)则表示防火墙是开启状态,这时候就需要考虑关闭防火墙了。
# 临时关闭防火墙
systemctl stop firewalld
# 永久关闭防火墙
systemctl disable firewalld
- 检查虚拟机的网络设置
经过上面的两个步骤之后,我的Jedis客户端还是连不上Redis服务器,这就有点让人头疼了。这里我用的虚拟机是:
Oracle VM VirtualBox,冥思苦想,突然恍然大悟,原来是网络设置不对,需要设置端口转发。
设置好端口转发之后,再次重试连接Redis服务器,一下子就连接上了。
Jedis操作测试
Jedis 客户端操作Redis数据库,就是通过Jedis的方法代替命令的执行。Jedis的方法名称与具体的操作命令名一模一样,基本上只要了解操作命令就会使用。下面简单演示一下如何通过Jedis操作Redis数据库
1.操作key
下面仅仅做一个简单的演示,如果对操作key的基本命令还不够了解的小伙伴可以查看此文Redis(三)–Redis的基本命令
@Test
public void operateKey()
Jedis jedis = new Jedis("127.0.0.1", 6379);
//清空数据库
jedis.flushDB();
jedis.set("name", "码农飞哥");
//设置过期时间,单位为秒
jedis.expire("name", 10L);
System.out.println(jedis.ttl("name"));
Set<String> keys = jedis.keys("*");
for (String key : keys)
System.out.println(key);
执行结果:
2. 操作String
下面代码仅仅对部分命令做一个简单的演示,如果对操作String的命令还不够了解的小伙伴可以查看此文 Redis(四)-Redis的常用数据类型之String字符串
@Test
public void operateString()
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.set("name", "码农飞哥");
System.out.println(jedis.get("name"));
jedis.mset("name", "码农飞哥", "age", "30", "sex", "男");
System.out.println(jedis.mget("name", "age"));
3. 操作hash
下面代码仅仅对部分命令做一个简单的演示,如果对操作hash的命令还不够了解的小伙伴可以查看此文 Redis(九)-Redis的常用数据类型之Hash表
@Test
public void operateHash()
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.hset("huserId", "name", "码农飞哥二号");
System.out.println(jedis.hget("huserId", "name"));
3. 操作list
下面代码仅仅对部分命令做一个简单的演示,如果对操作list的命令还不够了解的小伙伴可以查看此文 Redis(六)-Redis的常用数据类型之list列表
@Test
public void operateList()
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.lpush("luser", "张三", "李四");
System.out.println(jedis.rpop("luser"));
4. 操作set
下面代码仅仅对部分命令做一个简单的演示,如果对操作set的命令还不够了解的小伙伴可以查看此文 Redis(七)-Redis的常用数据类型之Set集合
@Test
public void operateSet()
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.sadd("setUser", "小明", "小张", "小王");
System.out.println(jedis.smembers("setUser"));
4. 操作zset
下面代码仅仅对部分命令做一个简单的演示,如果对操作zset的命令还不够了解的小伙伴可以查看此文 Redis(十一)-Redis的常用数据类型之zset类型
@Test
public void operateZset()
Jedis jedis = new Jedis("127.0.0.1", 6379);
Map<String, Double> gdpMap = new HashMap();
gdpMap.put("北京", 95d);
gdpMap.put("上海", 100d);
gdpMap.put("天津", 105d);
jedis.zadd("city:add", gdpMap);
Set<String> zrange = jedis.zrange("city:add", 0, 3);
Iterator<String> iterator = zrange.iterator();
while (iterator.hasNext())
System.out.println(iterator.next());
总结
本文详细演示了Jedis如何操作Redis数据库,希望对读者朋友们有所帮助。
参考
《Redis的设计与实现》
以上是关于Redis(十五)-Jedis操作测试的主要内容,如果未能解决你的问题,请参考以下文章
Redis使用 Jedis 操作 Redis 数据库 ① ( Gradle 导入 Jedis | Maven 导入 Jedis | 创建 Maven 工程并导入 Jedis 依赖 | 测试链接 )