目录Redis系列之五------Redis 事务一、Redis 事务定义二、Redis 事务的命令case1:正常执行Case2:放弃事务Case3:全体连坐  (语法错误)Case4:冤头债主    (执行错误)Case5:watch监控1、悲观锁/乐观锁/CAS(Check And Set)2、案例3、小结三、Redis 事务的三阶段四、Redis 事务的三特性
转载 2023-07-10 23:10:14
39阅读
LRU算法LRU(Least Recently Used),即最近最少使用,是一种缓存置换算法。在使用内存作为缓存的时候,缓存的大小一般是固定的。当缓存被占满,这个时候继续往缓存里面添加数据,就需要淘汰一部分老的数据,释放内存空间用来存储新的数据。这个时候就可以使用LRU算法了。其核心思想是:如果一个数据在最近一段时间没有被用到,那么将来被使用到的可能性也很小,所以就可以被淘汰掉。LRU在Redi
转载 2023-08-14 16:43:38
65阅读
## 实现redis zrange zrank”操作教程 ### 流程图 ```mermaid pie title Redis操作流程 "连接Redis" : 30 "使用ZADD添加数据" : 20 "使用ZRANGE查询数据" : 25 "使用ZRANK查询数据索引" : 25 ``` ### 步骤 | 步骤 |
原创 2024-07-07 04:32:38
27阅读
# 实现Rediszrank倒序的步骤 ## 流程图 ```mermaid flowchart TD A(连接Redis) --> B(获取zset KEY的长度) B --> C(计算倒序的排名) C --> D(获取倒序排名的成员) ``` ## 整体流程 | 步骤 | 操作 | | ---- | ---- | | 1 | 连接Redis | | 2 | 获取
原创 2024-06-23 04:14:53
64阅读
Redis简介及安装官网: http://redis.io/中文网: http://redis.cn/文档: http://redis.cn/documentation.html缓存服务器说明:使用缓存机制主要的目的就是为了降低用户访问物理设备的频次.从缓存服务器中直接获取数据,快速的响应用户,提高整体的查询速度.用户体验更好.如何实现: 1.缓存机制应该采用什么样的数据结构 进行构建? K-V结
转载 2023-10-23 22:06:17
32阅读
# 实现redis zrank float丢精度”教程 ## 概述 在Redis中,使用ZSET数据结构存储有序集合,可以使用ZADD命令添加成员及其分数,使用ZRANK命令获取成员在有序集合中的排名。然而,当需要使用浮点数作为分数时,可能会遇到精度丢失的问题。本文将详细介绍如何解决这个问题。 ## 流程 ```mermaid journey title Implementing
原创 2024-05-24 05:21:25
45阅读
Redis学习(十五) - 有序集ZRANGE、ZREVRANGE、ZRANGEBYSCORE、ZREVRANGEBYSCORE、ZRANK合、ZREVRANK命令员按字典序来排序。下标
原创 2022-11-09 18:47:39
842阅读
<?phpnamespace app\index\controller;use Redis;class Index{ public function index() { $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->flu...
原创 2018-08-29 14:40:52
101阅读
<?phpnamespace app\index\controller;use Redis;class Index{ public function index() { $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->flu...
原创 2022-01-19 13:35:43
20阅读
最近研究了一下redis里面字典的实现redis作为高效的内存存储而被广泛使用,内部实现的db结构以及多种高效的数据结构,其底层基本上就是靠字典来实现。而其字典数据结构是基于哈希表来实现的,其中一些特性的实现十分精妙。1.数据结构节点数据结构因为是基于开链法的哈希表实现,所以需要维护了一个next节点typedef struct dictEntry { void *key; un
转载 2023-07-04 15:43:25
57阅读
redisRedis:remote dictorytion server 远程字典服务 是一种基于内存,亦可持久化的key-value数据库。实现高性能的3大原因基于单线程实现,避免多线程带来的线程切换开销,单线程中使用IO多路复用处理并发大部分操作基于内存,读写操作不需要磁盘IO采取简单的数据结构,例如跳表、哈希表redis数据结构字符串redis中字符串的实现为 :SDS 简单动态字符串其实现
转载 2023-07-04 18:06:15
41阅读
redis虽然是一个非关系型内存数据库, 但是它支持传统的关系型数据库的事务。redis事务提供了一种将多个命令请求打包,然后一次性、按照顺序地执行多个命令的机制,并且在事务执行的期间,服务器不会中断事务而去执行其他不在事务中的命令请求,它会把事务中所有的命令都执行完毕才会去执行其他的命令。事务实现命令Redis中提供了multi、discard、exec、watch、unwatch这几个命令来实
转载 2023-09-02 18:59:37
64阅读
Redis的字符串是如何实现的前言为什么不用char*传统设计操作复杂度高SDS的设计SDS的高效操作创建sds字符数组拼接长度获取预分配内存空间节省内存的设计 前言字符串在日常开发中应用得比较普遍,对于Redis来说,键值对中的键是字符串,值也是字符串。比如在Redis中写入一条客户信息记录姓名、性别、爱好等。 在Redis这种内存数据库中,由于字符串被广泛的应用,在设计字符串时基于以下几点来
String类型 可以是字符串(简单的字符串、复杂的字符串(例如JSON、XML))、数字(整数、浮点数),甚至是二进制(图片、音频、视频),但是值最大不能超过512M 实现方式: 一个字符串,被redisObject所引用,当遇到incr,decr等操作时会转成数值型进行计算,此时redisObject的encoding字段为int。 常用命令:set key value :设置key对应的st
转载 2023-08-15 17:30:34
65阅读
redis做了一个用作字符串的SDS,除了一些不需要修改的场景,都是用SDS C字符串的底层实现总是一 个N+1个字符长的数组
转载 2023-08-03 09:13:31
46阅读
今天介绍个基于redis实现自增流水号的一个案例 为什么使用redis实现自增流水号呢? 因为现在的项目很多都整合redis,而且redis是单线程,且基于内存操作,速度快,实现自增流水号代码也简单小编实现的方式是Vue+springBoot,但是Vue就是做个页面按钮为了测试,你们可以写个测试类来测试,现在放上后端代码,亲测有效!!!首先先引入依赖,在pom文件加<!--redis--&
转载 2023-05-25 11:09:04
87阅读
redis限流的实现方式有3种,分别是:1、基于Redis的setnx的操作,给指定的key设置了过期实践;2、基于Redis的数据结构zset,将请求打造成一个zset数组;3、基于Redis的令牌桶算法,输出速率大于输入速率,就要限流。redis限流的实现方式有3种,分别是:第一种:基于Redis的setnx的操作我们在使用Redis的分布式锁的时候,大家都知道是依靠了setnx的指令,在CA
转载 2023-07-28 14:20:27
91阅读
1、前言实现一个排版榜,我们通常想到的就是mysql的order by 简单粗暴就撸出来了。但是这样真的优雅吗?数据库是系统的瓶颈,这是众所周知的。如果给你一张百万的表,让你排序做排行榜,花费的时间是十分可怕的。不如缓存吧,order by的时候强制使用索引。但是这样真的优雅吗?我们分析一下排行榜,一个用户一个排名,意味着要去重,这时我们会想到Java的一种数据结构Set。不过Set又是无序的。有
Redis通信协议使用的是RESP协议,协议具有容易实现、解析快、人类可读等特点,协议的每部分都是以\r\n结尾。redis客户端与服务器端通信也是通过socket网络编程,我们先来模拟一个redis服务器端拦截请求,使用socketServer开启一个6379端口,接收打印信息@SpringBootApplication public class RedisdemoApplication {
转载 2023-08-20 16:58:52
47阅读
先说今天分享一个之前写的基于redis和kafka实现类似银行叫号前言之前作过某风控系统,系统内会设计调用大量的三方数据,导致每一笔风控审核的时候会出现某一笔的消费延迟导致上游的消费速度显著下降,从而出现严重的卡单(kafka)。确定方案之前通过kafka消费主要是,并发消费,其类比的生活模式是早期银行排队,也就是kafka队列类似银行的多个窗口。假设银行规定,排队之后不能更换窗口,一个数据类似是
转载 2023-09-01 23:09:31
111阅读
  • 1
  • 2
  • 3
  • 4
  • 5