Redis应用 01、连接redis开发工具jedis
【摘要】 文章目录前言一、Jedis使用1.1、基本使用1.2、事务二、JedisPool连接池获取参考文章
前言
本篇博客是Redis的学习笔记,若文章中出现相关问题,请指出!
所有博客文件目录索引:博客目录索引(持续更新)
一、Jedis使用
1.1、基本使用
引入依赖
<!-- jedis -->
<dependency>
<groupId>re
@[toc]
前言
本篇博客是Redis的学习笔记,若文章中出现相关问题,请指出!
所有博客文件目录索引:博客目录索引(持续更新)
一、Jedis使用
1.1、基本使用
引入依赖
<!-- jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.1</version><!--版本号可根据实际情况填写-->
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
Jedis是一个高性能的开源Java客户端,是Redis官方推荐的Java开发工具,其封装了一系列的redis相关的执行命令可供我们进行使用。
class Test {
public static void main(String[] args) {
Jedis jedis = new Jedis("10.23.134.28", 6379);
System.out.println(jedis);
//测试在redis中五种数据类型的存与取
// testString(jedis);
// testHash(jedis);
// testList(jedis);
// testSet(jedis);
testSortedset(jedis);
}
/**
* String存取
*
* @param jedis jedis连接redis对象
*/
public static void testString(Jedis jedis) {
jedis.set("username", "changlu");
jedis.set("age", "18");
}
/**
* hash存取
*
* @param jedis jedis连接redis对象
*/
public static void testHash(Jedis jedis) {
//存
jedis.hset("mytestHash", "username", "changlu");
jedis.hset("mytestHash", "age", "18");
//取值
Map<String, String> hash = jedis.hgetAll("mytestHash");
hash.forEach((key, value) -> {
System.out.println("key:" + key + ",value=" + value);
});
}
/**
* list存取
*
* @param jedis jedis连接redis对象
*/
public static void testList(Jedis jedis) {
//存:往链表的左侧存储
Long pushLength = jedis.lpush("mytestlist", "listColumn1", "listColumn2");
System.out.println("存储的长度:"+pushLength);
//取:实现队列,从右边取
Long mtl = jedis.llen("mytestlist");
for (int i = 0; i < mtl; i++) {
System.out.println(jedis.rpop("mytestlist"));
}
}
/**
* set存取
*
* @param jedis jedis连接redis对象
*/
public static void testSet(Jedis jedis) {
//存:对于重复的属性不会存储
Long addLength = jedis.sadd("mytestSet", "changlu", "liner","liner","changlu");
System.out.println("存储的长度:"+addLength);
//取
Set<String> mytestSet = jedis.smembers("mytestSet");
Stream.of(mytestSet.toArray()).forEach(System.out::println);
}
/**
* 有序列表Sortedset
* @param jedis jedis连接redis对象
*/
public static void testSortedset(Jedis jedis) {
//存:对于重复的属性不会存储
jedis.zadd("mysortedset", 100, "warren");
jedis.zadd("mysortedset",20,"zhangsan");
jedis.zadd("mysortedset",50,"lisi");
//取:默认zrange是按照升序
Set<String> mysortedset1 = jedis.zrange("mysortedset", 0, -1);
Stream.of(mysortedset1.toArray()).forEach(System.out::println);
}
}
①String测试
②Hash测试
③List测试
④Set测试
⑤SortedSet测试
1.2、事务
命令
java实现
public static void main(String[] args) {
Jedis jedis = new Jedis("localhost",6379);
System.out.println(jedis);
JSONObject jsonObject = new JSONObject();
jsonObject.put("username","changlu");
jsonObject.put("password","123456");
String result = jsonObject.toJSONString();
jedis.set("changlu","nihao");
//创建事务,之后执行的一系列操作都要基于Transaction对象
Transaction multi = jedis.multi();
multi.flushDB();
try {
multi.set("user1",result);
multi.set("user2",result);
int i = 1/0;
multi.exec();//事务提交
}catch (Exception e){
multi.discard(); //放弃事务
e.printStackTrace();
}finally {
System.out.println("获取数据:");
System.out.println(multi.get("user1"));
System.out.println(multi.get("user2"));
//关闭连接
jedis.close();
}
}
二、JedisPool连接池获取
//从jedis连接池中获取一个连接
Jedis jedis = new JedisPool("localhost", 6379).getResource();
参考文章
[1]. Redis快速入门(究极新手教程)
整理者:长路 时间:2021.8.20
[1]. Redis快速入门(究极新手教程)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)