分享

关于spring data redis使用javaConfig的基本配置

 邵飞翔 2017-09-05
@Configuration
@ComponentScan(basePackages = {"com.xd.redis","com.xd.dao.*"})
public class RedisConfig {

    /**
     * 直接new 一个对象返回,即默认它的各项属性(端口,主机名,密码等等)为默认值,
     * @return
     */
    @Bean
    public JedisConnectionFactory jedisConnectionFactory(){
        JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory(jedisPoolConfig());
        jedisConnectionFactory.setUsePool(true);
        return jedisConnectionFactory;
    }

    /**
     * jedis连接池配置,直接new 一个对象返回,使用默认值,如有需要可以为其各个属性配置值
     * @return
     */
    @Bean
    public JedisPoolConfig jedisPoolConfig(){
        return new JedisPoolConfig();
    }

    @Bean
    public RedisTemplate<Serializable, Serializable> redisTemplate(){
        RedisTemplate<Serializable, Serializable> redisTemplate = new RedisTemplate<Serializable, Serializable>();
        redisTemplate.setConnectionFactory(jedisConnectionFactory());
        return redisTemplate;
    }
}

下面是对redis存取的代码,是参照的另一位博主的博客,下面有这位博主的的博客的链接:
@Repository
public class UserDao implements IUserDao {

    @Autowired
    private RedisTemplate<Serializable, Serializable> redisTemplate;

    public void saveUser(final User user) {

        redisTemplate.execute(new RedisCallback<Object>() {
                                  public Object doInRedis(RedisConnection redisConnection) throws DataAccessException {
                                      redisConnection.set(redisTemplate.getStringSerializer().serialize("user.id."+user.getId()),
                                              redisTemplate.getStringSerializer().serialize((user.getUsername())));
                                      return null;
                                  }
                              }
        );
    }

    public User getUser(final long id) {
        return redisTemplate.execute(new RedisCallback<User>() {
            public User doInRedis(RedisConnection redisConnection) throws DataAccessException {
                byte[] key = redisTemplate.getStringSerializer().serialize("user.id."+id);
                if(redisConnection.exists(key)){
                    byte[] value = redisConnection.get(key);
                    String username = redisTemplate.getStringSerializer().deserialize(value);
                    User user = new User();
                    user.setUsername(username);
                    user.setId(id);

                    return user;
                }
                return null;
            }
        });
    }
}
这是参考的博客原文链接:http://www.cnblogs.com/tankaixiong/p/3660075.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多