java 使用 Redis 数据库

Redis 是NoSQL的一种(非关系型数据库)

Redis 的安装,连接(源码安装、二进制安装/IP 和端口号)

Redis 存储数据的结构(string list set hash zset)

Redis 的常用命令(get mget  set mset  incr decr incrby )

java 连接Redis 

redis 存储对象 byte[]方式

redis存储对象 string[]方式

Jedis 连接池操作(jedispool )

jedis的管道操作 (jedispipe)

Redis 的yml 文件中允许修改ip 端口号

Redis.conf中修改 AUTH的配置 要求使用   用户名 密码 验证

Redis 持久化机制 -RDB  : RDB是将支持当前数据的快照存成一个数据文件的持久化机制。fork 出一个子进程,子进程中循环所有的数据,将数据写入到二进制文件中

Redis事务:与mysql的不同,Redis的事务不具有原子性,该失败还是失败。

Redis哨兵:集群中的每个节点都有一个哨兵,哨兵之间可以相互通信,感知某个节点是否down机,如果master某个节点已经dwon机,就从剩下的节点中再选出一个作为master节点。

Redis主从架构:Redis的每个节点中都有一个从节点,当主节坏掉,就用从节点替换

 

 

 

Redis 的淘汰机制: 当内存不足时,有的key会被删除,策略是有多种,包括  最近最少使用  或者是 随机删除

java连接Redis集群:

rediscluster node = rediscluster()

node.add(ip,port)

node.add(ip,port)

node.add(ip,port)

node.add(ip,port)

 

Redis 缓存问题: 客户端先查询redis缓存,如果没有数据,在查询数据库(同时将数据备份到redis)。如果redis中没有,数据库中也没有,

id自增,将id的最大值放到Redis中

缓存中的热点数据,突然到期了,造成大量的请求访问数据库,造成宕机,

缓存雪崩: 热点数据的生存时间去掉或者将缓存找那个数据的生存时间设置为一个随机数,避免同时到期。

如果热点数据都放在一个Redis节点上,Redis无法承受大量的请求,最终Redis宕机

1、扩展主从架构,搭建大量的从节点,缓解Redis 压力。

2、在Tomcat中添加JVM 缓存,在查Redis之前,先去查询Tomcat缓存

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xieshangxin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值