随笔 - 34  文章 - 0 评论 - 270 阅读 - 15万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

前言

redis内存型数据库,读取data速度远快于mysql和sqlserver,如果将APP中列表信息或者一些常被访问的信息转存内存上,然后APP通过redis读取内存上的数据,那么APP的用户体验也会提高。

注意

1.转存数据不宜超过内存最大值,否则会导致系统的性能下降

2.注意垃圾回收,设计时多考虑数据的生命周期

REDIS KEY

这里只简单介绍下Rediskey

复制代码
 1 //向 key 赋值 value
 2 SET key value
 3 //用于删除key
 4 DEL key
 5 //用于检查key是否存在
 6 EXISTS key 
 7 //给key 设置一个声明周期
 8 EXPIRE key seconds
 9 //查找所有符合pattern的key
10 KEYS pattern 
11 //将当前key移至绑定的数据库db
12 MOVE key db 
13 //移除key的生命周期
14 PERSIST key 
15 //返回key的剩余时间 TTL time to live
16 PTTL key 
17 //随机返回一个key
18 RANDOMKEY 
19 //将key重新命名为newkey
20 RENAME key newkey 
21 //返回key的类型
22 TYPE key 
复制代码

场景

场景一DBREDIS同步

我们这里以Mysql为例;

方法一:后端代码 insert / update / delete mysql时, 清空redis , 然后再将mysql中相关数据更新至redis中。

方法二:mysql 与 redis 同步,多使用 mysql udf redis 方法。

方法二性能远优于方法一,但是难度也超过方法一。

场景二后台更新

如同cms框架一样,每更新一次信息就要生成相关的静态页面;

每一次更新DB,然后 renew redis ;这种方法的好处是 redis 不大会出现错误,也很容易监控redis体积,方便多层监管,缺点就是并不real time和多出几步操作。 

 

posted on   peiyu1988  阅读(1574)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示