[redis]在Java中使用redis

在 Java Web 中的应用场景

  • 存储 缓存 用的数据;
  • 需要高速读/写的场合使用它快速读/写;

缓存

特点

  • 读远超于写
  • 在redis中存放数据,服务端可以直接读取内存中的数据
  • 开销大,存常用的和主要的数据

情景

缓存的两种形式:(一些不常更新的数据)

页面缓存经常用在CMS(content manage system)内存管理系统里边(Smarty缓存),如新闻类信息

数据缓存经常会用在页面的具体数据里边

考虑切入点

  • **业务数据常用吗?命中率如何?**如果命中率很低,就没有必要写入缓存;
  • **该业务数据是读操作多,还是写操作多?**如果写操作多,频繁需要写入数据库,也没有必要使用缓存;
  • **业务数据大小如何?**如果要存储几百兆字节的文件,会给缓存带来很大的压力,这样也没有必要;

读操作

  1. 第一次读取数据的时候,Redis 数据会读取失败(此时redies中没有数据自然会读取失败),随即会触发程序读取数据库,把数据读取出来,并且写入 Redis 中;
  2. 第二次以及以后需要读取数据时,就会直接读取 Redis,读到数据后就结束了流程,这样速度就大大提高了。
  • 读操作的可能性远大于写操作,可用来处理日常中需要经常读去的数据,降低了对数据库的依赖

写操作

  • 更新或者写入的操作,需要多个 Redis 的操作,如果业务数据写次数远大于读次数那么就没有必要使用 Redis。

高速读/写的场合

使用场景

在某一个瞬间或者是某一个短暂的时刻有成千上万的请求到达服务器,如果单纯的使用数据库来进行处理,就算不崩,也会很慢的,轻则造成用户体验极差用户量流失重则数据库瘫痪,服务宕机,为应对高并发需求的场合,可以考虑使用redis

流程步骤

  1. 请求到达服务器时,只是把业务数据在 Redis 上进行读写,而没有对数据库进行任何的操作,这样就能大大提高读写的速度,从而满足高速响应的需求
  2. 缓存的数据仍然需要持久化(存入数据库中),所以在一个请求操作完 Redis 的读/写之后,会去判断该高速读写的业务是否结束,这个判断通常会在秒杀商品为0,红包金额为0时成立,如果不成立,则不会操作数据库;如果成立,则触发事件将 Redis 的缓存的数据以批量的形式一次性写入数据库,从而完成持久化的工作。

在 Java 中使用 Redis

开启redis

一定要开启resis!!!!否则项目根本就连接不上redis!!!!

前提

确保自己的redis安装成功并且能正常使用

启动服务器端

启动成功的标志
在这里插入图片描述

启动客户端

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值