![](https://img-blog.csdnimg.cn/20210908103220701.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
REDIS
文章平均质量分 82
学习分布式和缓存的总结
Phil Arist
迎着风 一直跑
展开
-
深入学习Redis:主从复制
在Redis的持久化中曾提到,Redis高可用的方案包括持久化、主从复制(及读写分离)、哨兵和集群。其中持久化侧重解决的是Redis数据的单机备份问题(从内存到硬盘的备份);而主从复制则侧重解决数据的多机热备。此外,主从复制还可以实现负载均衡和故障恢复。原创 2023-04-09 21:11:33 · 1008 阅读 · 1 评论 -
深入学习Redis:持久化
深入学习Redis:持久化原创 2023-04-04 18:38:12 · 617 阅读 · 0 评论 -
深入学习Redis:Redis内存模型
深入学习Redis:Redis内存模型原创 2023-04-02 22:16:58 · 928 阅读 · 2 评论 -
Windows中注册Redis服务
Windows中注册Redis服务原创 2022-11-15 15:23:15 · 2290 阅读 · 0 评论 -
为什么 Redis 的查询很快, Redis 如何保证查询的高效
Redis 如何保证高效的查询效率为什么 Redis 比较快Redis 中的查询速度为什么那么快呢?1、因为它是内存数据库;2、归功于它的数据结构;3、Redis 中是单线程;4、Redis 中使用了多路复用。Redis 中的数据结构这里借用一张来自[Redis核心技术与实战] Redis 中数据结构和底层结构的对应图片1、简单动态字符串Redis 中并没有使用 C 中 char 来表示字符串,而是引入了 简单动态字符串(Simple Dynamic Stri..原创 2022-01-26 15:17:15 · 356 阅读 · 0 评论 -
推荐几款 Redis 可视化工具
1. 命令行不知道大家在日常操作redis时用什么可视化工具呢?以前总觉得没有什么太好的可视化工具,于是问了一个业内朋友。对方回:你还用可视化工具?直接命令行呀,redis提供了这么多命令,操作起来行云流水。用可视化工具觉得很low。命令行的鄙视用工具的,用高端工具的鄙视低端工具的,鄙视链一直存在。虽然用命令行自己也可以,但是总感觉效率上不如用工具,在视觉上不那么直观。尤其是看json的时候,在命令行就很不友好。大佬朋友说:谁说命令行就不能格式化json了?可以利用iredis,原创 2021-08-05 15:10:59 · 212 阅读 · 0 评论 -
REDIS学习笔记2
1. 为什么用Nosql整个网站的瓶颈是什么?数据量如果太大,一个机器放不下 数据的索引(B+Tree),一个机器内存也放不下 访问量(读写混合),一个服务器承受不了只要开始出现以上的三种情况之一,那么就一定要晋级!Memcached(缓存) + MySQL + 垂直拆分(数据库读写分离)网站80%的情况都是在读,每次都要去查询数据库的话十分麻烦,所以说我们希望减轻数据的压力,可以使用缓存来保证效率!发展过程:优化数据结构和索引–>文件缓存(IO)–>Memcached原创 2021-08-19 16:33:11 · 269 阅读 · 0 评论 -
16个 Redis 常见使用场景
目录 缓存 数据共享分布式 分布式锁 全局ID 计数器 限流 位统计 购物车 用户消息时间线timeline 消息队列 抽奖 点赞、签到、打卡 商品标签 商品筛选 用户关注、推荐模型 排行榜 1、缓存String类型例如:热点数据缓存(例如报表、明星出轨),对象缓存、全页缓存、可以提升热点数据的访问数据。2、数据共享分布式Stri..原创 2021-08-06 15:23:22 · 151 阅读 · 0 评论 -
Redis学习总结
引言在Web应用发展的初期,那时关系型数据库受到了较为广泛的关注和应用,原因是因为那时候Web站点基本上访问和并发不高、交互也较少。而在后来,随着访问量的提升,使用关系型数据库的Web站点多多少少都开始在性能上出现了一些瓶颈,而瓶颈的源头一般是在磁盘的I/O上。而随着互联网技术的进一步发展,各种类型的应用层出不穷,这导致在当今云计算、大数据盛行的时代,对性能有了更多的需求,主要体现在以下四个方面:低延迟的读写速度:应用快速地反应能极大地提升用户的满意度 支撑海量的数据和流量:对于搜索这样大型应用而原创 2021-08-25 10:28:55 · 169 阅读 · 1 评论 -
Redis应用
开源客户端StackExchange.Redis:https://github.com/StackExchange/StackExchange.Redis?spm=5176.100239.blogcont272212.10.IsQwET&file=StackExchange.Redis基本用法StackExchange.Redis中的中心对象是名称空间中的ConnectionMultiplexer类StackExchange.Redis。这是隐藏多个服务器详细信息的对象。由于Conn原创 2021-08-05 13:24:49 · 177 阅读 · 0 评论 -
Redis基础知识
Redis基础认识:key—value数据库与其他的key—value缓存的数据库相比的特点:1.支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用2.不仅支持key—value数据的类型,还提供list,set,zset(有序集合),hash等数据结构的存储3.支持数据的备份(master—slave模式的数据备份)优势:性能高:每秒的读写速度分别是110000次(R)81000(W)数据类型丰富:支持二进制案例的string,lists , ha原创 2021-06-08 15:50:28 · 82 阅读 · 0 评论 -
控制 Redis stream 的消息数量
介绍Redis Stream 是 Redis 5.0 引入的一个新的类型,之前我们介绍过使用 Redis Stream 来实现消息队列,可以参考之前的文章使用 Redis Stream 实现消息队列,而 Stream 的消息会持久化地内存中,如果我们不控制消息数量的话,可能会出现大量的消息存在内存里导致过大的内存占用,Redis Stream 5.0 开始支持根据 Max Length 来控制 Stream 的长度(消息数量),从 6.2 开始支持根据消息 Id 来控制 Stream 的长度,默认地消.原创 2021-09-15 15:34:55 · 1635 阅读 · 0 评论 -
使用 Redis Stream 实现消息队列
介绍Redis 5.0 中增加了 Stream 的支持,利用 Stream 我们可以实现可靠的消息队列,并且支持一个消息被多个消费者所消费,可以很好的实现消息队列简单的使用首先我们来看一个简单版本的 Stream 使用,我们在代码里使用一个发布者,一个消费者来模拟一个简单的消息队列的场景来看下面的测试代码:privateconststringStreamKey="test-simple-stream";publicstaticasyncTaskMainTest()...原创 2021-09-16 09:11:43 · 954 阅读 · 0 评论 -
Redis 使用 Lua 脚本进行原子操作
介绍之前写过一篇文章也是 Redis 使用 LUA 脚本实现分布式的 CAS 操作,可以参考:基于 Redis 实现 CAS 操作最近使用 Redis 的时候有一个需求,只有值发生变化的时候才更新,如果要更新的值和现在的值是一样的就不用更新,有点类似于SET NX,只是SET NX只有值不存在的时候才会SET,我的需求则是要检查要SET的值和 Redis 里的值,如果不一样就SET,一样就直接返回使用我实现了针对String和Hash的 SET 检查,核心就是我们的 L...原创 2021-09-03 09:58:25 · 488 阅读 · 0 评论 -
基于 Redis 实现 CAS 操作
引言在 .NET 里并发情况下我们可以使用 Interlocked.CompareExchange 来实现 CAS (Compare And Swap) 操作,在分布式的情景下很多时候我们都会使用 Redis ,最近在改之前做的一个微信小游戏项目,之前是单机运行的,有些数据存储是基于内存的,直接基于对象操作的,最近要改成支持分布式的,于是引入了 redis,原本基于内存的数据就要迁移到 redis 中存储,原来的代码里有一些地方使用了 Interlocked.CompareExchange 来实现 CA原创 2021-09-03 13:16:31 · 1598 阅读 · 0 评论