作家
登录

分布式缓存技术redis学习系列----深入理解Spring Redis的使用

作者: 来源: 2017-05-09 13:11:26 阅读 我要评论

2) valueSerializer:value采取的序列化策略

4) hashValueSerializer:hash-value的序列化策略

无论若何,建议key/hashKey采取StringRedisSerializer。

spring-data-redis针对jedis供给了如下功能:

1. 连接池主动治理,供给了一个高度封装的“RedisTemplate”类

2. 针对jedis客户端中大年夜量api进行了归类封装,将同一类型操作封装为operation接口

  • ValueOperations:简单K-V操作
  • SetOperations:set类型数据操作
  • ZSetOperations:zset类型数据操作
  • HashOperations:针对map类型的数据操作
  • ListOperations:针对list类型的数据操作

3. 供给了对key的“bound”(绑定)便捷化操作API,可以经由过程bound封装指定的key,然落后行一系列的操作而无须“显式”的再次指定Key,即BoundKeyOperations:

  • BoundValueOperations
  • BoundSetOperations
  • BoundListOperations
  • BoundSetOperations
  • BoundHashOperations

3. RedisTemplate的应用

这个类作为一个模版类,供给了很多快速应用redis的api,而不须要本身来保护连接,事务。最初的时刻,我创建的BaseRedisDao是持续自这个类的。持续的好处是我的每个Dao中,都可以自由的┞菲握序列化器,自由的┞菲握本身是否须要事务,这个先不须要懂得,跟着我今朝的┞封种设备办法来即可。template供给了一系列的operation,比如valueOperation,HashOperation,ListOperation,SetOperation等,用来操作不合数据类型的Redis。并且,RedisTemplate还供给了对应的*OperationsEditor,用来经由过程RedisTemplate直栖身入对应的Operation。

核心代码:

  1. package com.npf.dao.impl;   
  2.    
  3. import java.util.ArrayList;   
  4. import java.util.List;   
  5. import java.util.Map;   
  6. import java.util.Map.Entry;   
  7.    
  8. import javax.annotation.Resource;   
  9.    
  10. import org.springframework.beans.factory.annotation.Autowired;   
  11. import org.springframework.data.redis.core.HashOperations;   
  12. import org.springframework.data.redis.core.RedisTemplate;   
  13. import org.springframework.stereotype.Repository;   
  14.    
  15. import com.npf.dao.StudentDao;   
  16. import com.npf.model.Student;   
  17.    
  18. @Repository   
  19. public class StudentDaoImpl implements StudentDao{   
  20.    
  21.     @Autowired   
  22.     private RedisTemplate<String,Student> redisTemplate;   
  23.        
  24.     @Resource(name="redisTemplate")   
  25.     private HashOperations<String,String,Student> opsForHash;   
  26.        
  27.     public static final String STUDENT = "student";   
  28.        
  29.     @Override   
  30.     public void save(Student student) {   
  31.         opsForHash.put(STUDENT, student.getId(), student);   
  32.     }   
  33.    
  34.     @Override   
  35.     public Student find(String id) {   
  36.         Student student = opsForHash.get(STUDENT, id);   

      推荐阅读

      机器学习中容易犯下的错

    媒介在工程中,有多种办法来构建一个关键值存储,并且每个设计都对应用模式做了不合的假设。在统计建模,有各类算法来建立一个分类,每一个算法的对数据集有不合的假设。在处理少量的数据时,尽量多的去测验测验更多>>>详细阅读


    本文标题:分布式缓存技术redis学习系列----深入理解Spring Redis的使用

    地址:http://www.17bianji.com/lsqh/35091.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)