学习
实践
活动
专区
工具
TVP
写文章

使用redis缓存

redis常本用来作为缓存服务器。缓存的好处是减少服务器的压力,数据查询速度快。解决数据响应慢的问题。 添加缓存:只用redis的Hash数据类型添加缓存。 例如:需要在查询的业务功能中,添加缓存 1.首先需要在执行正常的业务逻辑之前(查询数据库之前),查询缓存,如果缓存中没有需要的数据,查询数据库 为了防止添加缓存出错,影响正常业务代码的执行,将添加缓存的代码放置到 2.完成数据库的查询操作,查询完成之后需要将查询的数据添加到缓存中。 ,便于展示,为了保证添加缓存出现错误不影响程序的正常业务功能,可以使用try catch的方式加缓存 try { String json = jedisClient.hget 所谓缓存同步,也就是在数据库的增删改操作完成之后,清除对应的缓存即可,下一次执行查询操作时,重新添加新的缓存,这样就很好的实现了缓存同步的问题。

1.2K70
  • 广告
    关闭

    热门业务场景教学

    个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SpringBoot集成Redis和配置Redis缓存

    Redis数据库中所有数据都存储在内存中,由于内存的读写速度远快于硬盘,因此Redis在性能上对比其他基于硬盘存储的数据库有非常明显的优势,而且Redis提供了对持久化的支持,即可以将内存中的数据异步写入到硬盘中 本文内容分两块,配置文件分别单独记录 SpringBoot 2.x版本项目配置Redis数据库及使用 SpringBoot项目使用Redis缓存 SpringBoot 2.x版本项目配置Redis数据库及使用 </artifactId> </dependency> 2.配置application.properties # Redis数据库索引(默认为0) spring.redis.database=0 # Redis 缓存 1.项目pom文件引入Cache和Redis依赖 <! </artifactId> </dependency> 2.配置application.properties ## Redis部分 # Redis数据库索引(默认为0) spring.redis.database

    20420

    spring+redis的集成,redis缓存

    1.前言        Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 我们都知道,在日常的应用中,数据库瓶颈是最容易出现的。数据量太大和频繁的查询,由于磁盘IO性能的局限性,导致项目的性能越来越低。这时候,基于内存的缓存框架,就能解决我们很多问题。 例如Memcache,Redis等。将一些频繁使用的数据放入缓存读取,大大降低了数据库的负担。提升了系统的性能。       超过空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制。 redis.maxIdle=300 #连接池的最大数据库连接数。 redis客户端查看缓存数据: ? 总结:   在redis缓存的时候最好是每个缓存的生命周期不固定,也就是分散的使缓存失效。可以设置有效期为3-9小时。

    39150

    缓存数据库Redis

    2、缓存中间件,Memcache和Redis的区别。   1)、Memcache,代码层次类似Hash,非常简单易用。 Redis不使用表,它的数据库不会预定义或者强制要求用户对redis存储的不同数据进行关联,因此性能相比关系型数据库要高出不止一个量级,其存储结构就是键值对,类似于hashMap,hashMap的优势就是查询 18、Redis如何持久化? 答:AOF(append-only-file)持久化,通过保存Redis服务器所执行的写状态来记录数据库的。   1)、记录下除了查询以外的所有变更数据库状态的指令。 数据库会记录下所有变更数据库状态的指令,除了指定数据库的查询命令,其它的命令都是来自client的。    1)、BGSAVE镜像全量持久化,AOF增量持久化,因为BGSAVE会耗费较长时间,不够实时,在停机的时候会导致大量丢失数据的问题,需要AOF配合使用,在Redis重启的时候会使用BGSAVE持久化文件

    36730

    redis缓存数据库

    缓存数据库介绍 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的 , Oracle BDB 内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。 比如最短路径寻址,N度关系查找等 很多时候需要对整个图计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。 在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。 MultiUtility工具:Redis是一个多功能实用工具,可以在很多如:缓存,消息传递队列中使用(Redis原生支持发布/订阅),在应用程序中,如:Web应用程序会话,网站页面点击数等任何短暂的数据

    64140

    缓存数据库Redis

    一、缓存数据库的由来和必然 Mysql数据一般存放在磁盘,效率比较低.虽然在数据库层也做了对应的缓存,但是这种缓存一般针对的是查询的内容而且粒度也比较小,一般只有表中数据没有发生变化时候,缓存才能起作用 .这并不能减少业务系统对数据库产生的增、删、查、改的庞大IO压力。 这些需求使得缓存数据库应运而生 二、数据库缓存的技术特点 对热点数据的高速缓存 提高应用的响应速度 缓解后端数据库的压力 三、缓存中间件Memcache VS Redis Memcache:代码层次类似 采用多路 I/O 复用技术可以让单个线程高效的处理多个连接请求(尽量减少网络 IO 的时间消耗),且 Redis 在内存中操作数据的速度非常快,也就是说内存内的操作不会成为影响Redis性能的瓶颈,主要由以上几点造就了 Redis 具有很高的吞吐量。

    12530

    使用Redis预定库存缓存功能

    最近在自己的工作中,把其中一个PHP项目的缓存从以前的APC缓存逐渐切换到Redis中,并且根据Redis所支持的数据结构做了库存维护功能。 缓存是在业务层的,准确讲应该是在MVC模型中Model的ORM里面。主要逻辑就是先查缓存,查不到的话再查数据库Redis支持5种存储类型:String,Hash,List,Set,Sorted Set。目前的场景中Hash和Set类型都可以满足要求,在此我们选择使用Hash类型存储。 另外,宝物类型和房间号合起来redis key,会导致我们在redis中和宝物库存相关的key的数量比较多,为了方便统一管理这些key,可以再增加一条redis缓存,专门用来存储和宝物库存相关的所有redis 里面存储了所有redis中已经存在的库存key值。 这么的一个好处是,万一哪天碰到一些特殊情况,需要把所有库存相关缓存全部清空的话,我们可以很容易地取出所有的库存key并删除操作。

    27420

    Redis除了缓存,还能做什么

    缓存 Redis是什么大家都知道,一个非关系型数据库。大部分情况下我们使用Redis缓存。 使用缓存的情况一般是这样的: Redis缓存 “(1)从Redis缓存中获取数据,如果存在数据,直接返回值。 (2)如果不存在,执行数据库的查询方法 (3)将数据库中的值放入缓存,并返回值 ” 代码如下: 当然我们也可以使用Spring的缓存注解@Cacheble。 队列 上面其实就是我们常用的场景,那么Redis除了缓存,还可以做什么呢? 我们还可以使用Redis队列。 Redis队列 那么我们什么时候可以使用Redis的队列功能呢? 示例代码如上。 库存服务(使用数据库如MySQL)需要扣减库存,扣减库存肯定需要锁吧,如果使用Lock或者synchronized,只能锁住自己的节点。而从前台访问是随机路由到这3台节点的。

    1.1K20

    Spring cache 使用Redis分布式缓存

    spring cache 如果是单应用直接使用本地缓存就可以,如果是分布式系统,就需要使用分布式缓存,否则请求会直接访问数据库。下面使用redis 做为spring cache的缓存容器。 可以看到redis已经有了缓存,现在把删除操作注释去掉,把redis缓存删除 插入用户,新增缓存 =>操作数据库保存用户数据 第一次获取用户,存在缓存就从缓存返回,不存在就从数据库取 Person "操作数据库"日志,数据是从缓存中获取的 2.更新后,再次获取用户,用户信息已经变化了,说明缓存也被更新 3.删除操作,会让缓存失效,可以看到控制台打印了 “操作数据库”的日志,但用户信息为null ,表示只有当第一个参数的长度小于3的时候才会被缓存,若此配置上面的AAA用户就不会被缓存,读者可自行实验尝试。 unless:另外一个缓存条件参数,非必需,需使用SpEL表达式。它不同于condition参数的地方在于它的判断时机,该条件是在函数被调用之后才判断的,所以它可以通过对result进行判断。

    10120

    spring boot redis 数据库缓存用法

    缓存处理方式应该是 1.先从缓存中拿数据,如果有,直接返回。 2.如果拿到的为空,则数据库查询,然后将查询结果存到缓存中。 maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency> 添加配置 /** * Redis 参数: value缓存名、 key缓存键值、 condition满足缓存条件、unless否决缓存条件 @Cacheable(value = "user", key = "#id") public User 参数: value缓存名、 key缓存键值、 condition满足缓存条件、 unless否决缓存条件、 allEntries是否移除所有数据(设置为true时会移除所有缓存) @CacheEvict

    43710

    缓存数据库选型 -- Redis vs Memcache

    概述 memcache 和 redis 是目前使用频率最高的两个缓存服务器的选型,各公司也常常在面试中问到二者的区别。 但是,业务服务一定需要注意的是在重启后 redis 中的数据可能是与后端数据库中的数据不一致的。 因此,通常只有只读场景,或者允许短时间不一致的业务场景,可以尝试开启 redis 的持久化功能。 建议 redis 集群对于用户来说使用非常简单,与使用单一 redis server 并没有明显区别,但其强大的集群功能可以让缓存的可用性和负载能力得以显著提升,官方提供的 sentinel集群管理工具 但是,大部分场景下,redis 作为缓存服务器,可用性要求并没有那么高。 一旦不可用,即相当于 cache miss,通过直接从后端数据库服务器读取数据是完全可以接受的。 总结 总的来说,redis 作为缓存服务器的后起之秀,可以说在诸多方面领先于 memcache,也确实逐渐显现出代替 memcache 的趋势。

    16710

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 云数据库 Redis

      云数据库 Redis

      云数据库 Redis,数据库缓存,数据库存储,云数据库 云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。 云数据库Redis是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券