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的主要内容,如果未能解决你的问题,请参考以下文章

Redis学习笔记5--Redis持久化

redis学习笔记

Redis学习笔记5:JedisRedisTemplate

Redis学习笔记5:JedisRedisTemplate

Redis学习笔记

Redis学习笔记