redis小结

redis是一种key-value存储的非关系型数据库, 值(value)可以是 字符串 (String), 哈希 (Map), 列表 (list), 集合( sets) 和 有序集合 (sorted sets)等类型。通常和关系型数据库(如:sqlserver、oracle、mysql、psql等)一起使用,起到缓存的作用。
缓存分为本地缓存和分布式缓存,redis和Memcache属于分布式缓存。
***ehcache和redis的比较:
ehcache 小、快、简单
redis 支持持久化、丰富的数据类型、有更多的业务支持(原子化操作、过期时间设置、通知)


1.redis常用操作(根据类型不同,操作方式略有不同)
首先是对key的常用操作:
EXPIRE key seconds
PERSIST key 移除 key 的过期时间,key 将持久保持。
TYPE key 返回 key 所储存的值的类型。
KEYS * 显示所有key
1)String
2)Hash
HDEL key field1 [field2] 删除一个或多个哈希表字段
2.redis 连接被拒绝的问题
redis-server /etc/redis.conf
3.RedisTemplement的使用
@Autowired
@Qualifier("commonRedisTemplate")
protected RedisTemplate<String, ConfigData> configRedisTemplate;
@Bean
RedisTemplate< ? , ? > commonRedisTemplate(@Qualifier("sentinelJedisConnectionFactory") RedisConnectionFactory connectionFactory)
{
StringRedisTemplate template = new StringRedisTemplate(connectionFactory);
template.setEnableDefaultSerializer(false);
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
template.setConnectionFactory(connectionFactory);

return template;
}


@Configuration
public class MyTestConfiguration
{
@Bean
RedisConnectionFactory sentinelJedisConnectionFactory() {
RedisSentinelConfiguration sentinelConfig = new RedisSentinelConfiguration().master("ngma-master")
.sentinel("127.0.0.1", 26379);
return new JedisConnectionFactory();
}

*可以不写delete操作,在dal层通过get和set完成delete操作。
configRedisTemplate.opsForValue().get(key)
configRedisTemplate.opsForValue().set(key)
configRedisTemplate.delete(key)
3.redis sentinal
Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现master宕机后能进行自动切换。
它的 主要功能 有以下几点
  • 不时地监控redis是否按照预期良好地运行;
  • 如果发现某个redis节点运行出现状况,能够通知另外一个进程(例如它的客户端);
  • 能够进行自动切换。当一个master节点不可用时,能够选举出master的多个slave(如果有超过一个slave的话)中的一个来作为新的master,其它的slave节点会将它所追随的master的地址改为被提升为master的slave的新地址。
sentinel默认监听26379端口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值