• Spring Data Redis入门示例:基于RedisTemplate (三)


    使用底层API:RedisConnection操作Redis,需要对数据进行手动转换(String <---->byte),需要进行多数重复性工作,效率低下;org.springframework.data.redis.core.RedisTemplate 类提供了与Redis交互的高级抽象,该类负责序列化和连接管理,对大多数重复性工作进行了封装。并且 RedisTemplate是一个线程安全的类。

    此外,模板还提供了用于处理特定类型或特定键的操作视图。包含的接口见下表:

    类型操作封装

    例子:上一节第三步的配置文件添加下面内容:

     <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
         <property name="connectionFactory" ref="jedisConnectionFactory"/>
    </bean>
    

    测试RedisTemplate:

    // RedisTemplate 操作
    RedisTemplate redisTemplate = context.getBean(RedisTemplate.class);
        
    // 获取String类型的操作类
    ValueOperations<String, String> valueOperations = redisTemplate.opsForValue();
    valueOperations.set("haha", "你好");
    System.out.println(valueOperations.get("haha"));
    

    优化:
    上面的例子,当需要操作某种类型时,就从 RedisTemplate 模板类中获取对应操作类的引用,这一步是重复的,可以通过 Spring DI 进行注入,可以省下一行代码,代码如下

    @Autowired
    private RedisTemplate template;
    
    @Resource(name = "redisTemplate")
    private ValueOperations valueOps;
    

    示例说明

    1. RedisTemplate是一个泛型类,可以指定key和value的类型
    2. 想操作Redis的哪种类型数据,从RedisTemplate 获取对应操作的引用,如上面的valueOperations 
    3. 使用RedisTemplate,没有了底层API将数据转byte的操作
  • 相关阅读:
    org.hibernate.annotationexception no identifier specified for entity
    PL/SQL Developer 中文乱码解决
    cron表达式
    mysql远程连接的设置
    linux查看端口对应的程序及pid
    安卓开发分享功能,分享到facebook网页上不显示图片的问题
    win7下解压安装mysql的方法
    总结一下论文写作过程中的一些东西
    java中可以让程序暂停几秒执行的代码
    Neo4j图数据库使用
  • 原文地址:https://www.cnblogs.com/Jxwz/p/8372305.html
Copyright © 2020-2023  润新知