redis怎么作为mysql的缓存

redis怎么作为mysql的缓存,第1张

1,redis是一种内存性的数据存储服务,所以它的速度要比mysql快。
2,redis只支持String,hashmap,set,sortedset等基本数据类型,但是不支持联合查询,所以它适合做缓存
3,有时候缓存的数据量非常大,如果这个时候服务宕机了,且开启了redis的持久化功能,重新启动服务,数据基本上不会丢。
4,redis可以做内存共享,因为它可以被多个不同的客户端连接。
5,做为mysql等数据库的缓存,是把部分热点数据先存储到redis中,或第一次用的时候加载到redis中,下次再用的时候,直接从redis中取。
6,redis中的数据可以设置过期时间expire,如果这个数据在一定时间内没有被延长这个时间,那个一定时间之后这个数据就会从redis清除。
所以,redis只是用来缓存数据库中经常被访问的数据,可以增加访问速度和并发量。而mysql只是提供一种数据备份和数据源的作用。

redis做缓存的时候,怎么取出全部相同前缀的key,百度到很多都是keys,scan
获取当前库下的所有key
可以使用 keys 命令,keys支持模糊匹配,但是cpu使用率有点高。还有一种就是scan命令

设置一个set,在缓存的时候把数据的key存到这个set里面

Redis是一个开源的内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。

它支持多种类型的数据结构,如字符串(Strings),散列(Hashes),列表(Lists),集合(Sets),有序集合(SortedSets或者是ZSet)与范围查询,Bitmaps,和地理空间(Geospatial)索引半径查询。其中常见的数据结构类型有String、List、Set、Hash、ZSet这5种。

redis是类似key_value形式的快速缓存服务。类型较丰富,可以保存对象、列表等,支持的 *** 作也很丰富,属于内存数据库,且可以把内存中的数据及时或定时的写入到磁盘。可设置过期自动删除,速度快,易于使用。

应用Redis实现数据的读写,同时利用队列处理器定时将数据写入mysql。
同时要注意避免冲突,在redis启动时去mysql读取所有表键值存入redis中,往redis写数据时,对redis主键自增并进行读取,若mysql更新失败,则需要及时清除缓存及同步redis主键。
这样处理,主要是实时读写redis,而mysql数据则通过队列异步处理,缓解mysql压力,不过这种方法应用场景主要基于高并发,而且redis的高可用集群架构相对更复杂,一般不是很推荐。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13321316.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-14
下一篇 2023-07-14

发表评论

登录后才能评论

评论列表(0条)

保存