Redis学习笔记5:JedisRedisTemplate
Posted Vincent9847
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis学习笔记5:JedisRedisTemplate相关的知识,希望对你有一定的参考价值。
一、Jedis是什么?
Jedis是Redis官方推荐的Java连接开发工具。要在Java开发中使用好Redis中间件,必须对Jedis熟悉才能写成漂亮的代码。
详细了解:https://www.jianshu.com/p/a1038eed6d44
二、RedisTemplate是什么?
RedisTemplate是SpringDataRedis中对JedisApi的高度封装。
详细了解:https://www.cnblogs.com/myitnews/p/12297815.html
三、springboot整合
1.导入依赖
2.配置连接
3.测试
- 使用Jedis连接操作Redis:
import redis.clients.jedis. Jedis;
public class Testping {
public static void main(string[] args) {
// 1, new Jedis对象即可
Jedis jedis = new Jedis("127.0.0.1",6379);
// jedis所有的命令就是我们之前学习的所有指令!所以之前的指令学习很重要!
System. out.print1n(jedis.ping());
}
}
- 一般测试Redis语法:
public class Testkey{
public static void main (String [] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
System.out.println("清空数据:"+jedis.flushDB());
System.out.println(”判断某个键是否存在:"+jedis.exists( key:"username"));
System.out.println("新増<'username','kuangshen'>的键值对: "+jedis.set("username","kuangshen"))
System.out.println("新増<'password' , 'password'>的键值对:"+jedis.set("password", "password"));
System.out.print("系统中所有的键如下:“);
Set <String> keys=jedis.keys( pattern:"*");
System.out.println (keys) ;
System.out.println("删除键password:"+jedis.del( key:"password"));
System.out.println("判断键password是否存在:"+jedis.exists(key:"password"));
System.out.println("查看键username所存储的值的类型:"+jedis.type(key:"username"));
System.out.println("随机返回key空间的一个:"+jedis.randomkey());
System.out.println(”重命名key:"+jedis.rename(oldkey:"username",newkey:"name"));
System.out.println("取出改后的name:"+jedis.get("name"));
System.out.println("按索引查询:"+jedis.select(index:ø));
System.out.println(“删除当前选择数据库中的所有key:"+jedis.flushDB());
System.out.println("返回当前数据库中key的数目:“+jedis.dbSize());
System.out.println("删除所有数据库中的所有key:"+jedis.flushAll());
}
}
- 事务测试:
public class TestTX {
public static void main (String [] args) {
Jedis jedis = new Jedis ( host: "127.0.0.1", port:6379);
jedis.flushDB () ;
JSONObject jsonObject = new JSONObject () ;
jsonObject.put ("hello", "wor1d") ;
jsonObject. put ("name", "kuangshen");
//开启事务
Transaction multi = jedis.multi () ;
String result =json0bject.toJSONString () ;
// jedis.watch (result)
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(jedis.get("user1"));
System.out.println(jedis.get("user2"));
jedis.close();//关闭连接
}
}
}
- redisTemplate操作:
public class RedisTemplateTest{
private RedisTemplate redisTemplate;
@Test
void contextLoads () {
//redisTemplate 操作不同的数据类型,api和我们的指令是一样的
//opsForVaLue操作字符串 类似String
//opsForList操作List 类似List
//opsForSet
//opsForHash
//opsForZSet
//opsForGeo
//opsForHyperLogLog获取redis的连接对象
RedisConnection connection = redisTemplate.getConnectionFactory().getConneconnection.flushDb();
connection.fLushALL() ;
redisTemplate.opsForValue(),set("mykey",“xiaoyi”);
System.out.println(redisTemplate.opsForValue().get("mykey"));
}
}
四、Jedis与RedisTemplate的区别
Jedis是Redis官方推荐的面向Java的操作Redis的客户端,而RedisTemplate是SpringDataRedis中对JedisApi的高度封装。SpringDataRedis相对于Jedis来说可以方便地更换Redis的Java客户端,比Jedis多了自动管理连接池的特性,方便与其他Spring框架进行搭配使用如:SpringCache
比较了解:https://blog.csdn.net/qq_37208934/article/details/95201211
以上是关于Redis学习笔记5:JedisRedisTemplate的主要内容,如果未能解决你的问题,请参考以下文章