RedisRedis是什么,为什么用Redis 是一个开源免费的,遵循BSD协议,是一个高性能(NOSQL)的 key-value数据库, 由C语言编写。提供多种语言的API,SQL: 关系型数据库NOSQL: 非关系型数据库(为了解决大规模数据集合多种数据种类带来的挑战,尤其是大数据应用难题)NoSQLNoSQL数据库的四大分类键值型(Key-Value) ......
387
0
0
2022-11-25
Redis 客户端和服务端之间是采用 TCP 协议进行通信的,是基于 Request/Response 这种一问一答的模式,即请求一次响应一次。普通模式我们先来看下普通模式下,一条 Redis 命令的简要执行过程:客户端发送一条命令给 redis-server,阻塞等待 redis-server 应答redis-server 接收到命令,执行命令redis- ......
407
0
0
2022-11-17
我们知道Redis是支持事务的,但是它里面的事务为什么不支持回滚呢?1.在Redis中,命令只会因为错误的语法而失败,或者是命令用在了错误类型的键上面;也就是说,从实用的角度说,失败的命令是由编译错误造成的,而这些错误应该在开发过程中被发现,而不应该出现在生产环境中。2.因为不需要对回滚进行支持,所以Redis的内部可以保持简单且快速。3.有种观点认为,Re ......
345
0
0
2022-11-16
前言:临时使用数据库时可以使用docker运行,这样可以防止在系统上安装破坏环境,同时使用docker启动会比在系统中安装配置要快速,可以说是最快的方式安装部署并启动数据库。docker配置启动运行MySQL首先创建目录并进入sudo docker run -p 3306:3306 \ --name mymysql \ --restart=always ......
350
0
0
2022-11-15
一、基于 Redis 分布式锁优化基于 setnx 实现的分布式锁存在下面问题:不可重入: 同一个线程无法多次获取同一把锁(例如方法A执行前需要获取锁,然后调用方法B,方法B中也需要获取锁)不可重试: 获取锁只尝试一次就返回 false,没有重试机制超时释放: 锁超时释放虽然可以避免死锁,但是如果业务执行耗时较长,也会导致锁释放,存在安全隐患主从一致性(读写 ......
372
0
0
2022-11-15
欢迎各位大佬指教 /** * 滑动窗口限流 * Class SlidingWindow * @package App\Common */ class SlidingWindow { protected $timeStamp; //当前的时间戳 protected $_is ......
318
0
0
2022-11-12
简介关于微服务相关的分享,我都是在 Windows 10 系统下实践的,所以跟 Spring Boot 配套的软件也是在此系统上面安装的。今天跟大家介绍一下如何在 Win10 下安装 Redis,该篇是 Spring Boot 使用 Redis 的处 ......
343
0
0
2022-11-12
什么是Session/Cookie用户使用网站的服务,基本上需要浏览器与Web服务器的多次交互。HTTP协议本身是无状态的,当用户的第一次访问请求结束后,后端服务器就无法知道下一次来访问的还是不是上次访问的用户。我们需要基于HTTP协议支持会话状态的机制,这样的机制可以使Web服务器从多次单独的HTTP请求中知道哪些请求是来自哪个会话的。Session与Co ......
361
0
0
2022-11-10
关于 redis 相信大家都不陌生了,之前有从 0 -1 分享过 redis 的基本使用方式,用起来倒是都没有啥问题了,不过还是那句话,会应用之后,我们必须要究其原理,知其然知其所以然今天我们来分享一下关于 redis 的存储结构的原理redis 的存储结构的原理我们都知道 redis 是一个 K-V 内存数据库,类似于 memcache ,那么一般存储这种 ......
301
0
0
2022-11-08
redis 是使用 C 语言编写的,但是 C 语言是没有字典这个数据结构的,因此 C 语言自己使用结构体来自定义一个字典结构typedef struct redisDbsrc\server.h 中的 redis 数据库 数据结构/* Redis database representation. There are multiple databases ide ......
313
0
0
2022-10-31
仅为本书对Redis中跳跃表的介绍和实现。基本定义和算法会重开一篇。zset结构体代码在 7.6 章中。查找思想根据二分法,分跨度,查分值定位。大部分常用操作,如增删改查,排名,时间复杂度为平均O(logN),最坏O(N),N为跳跃表长度。大部分情况下效率可和平衡树媲美。因其实现相较平衡树较为简单,故不少程序以跳跃表来代替平衡树。它是有序集合的底层实现之一。 ......
291
0
0
2022-10-29
简介简单动态字符串的英文全称为 Simple Dynamic String,简称为SDS。可以简单地理解为Redis中存储字符串的一种结构体,针对这个结构体,还有对应的很多相关函数。127.0.0.1:6379> set k1 Redis ok 在上述示例中,k1 为键名,k1 的底层存储结构就使用了SDS。在Redis中string类型的值,底层 ......
277
0
0
2022-10-21
redis生产者发布php artisan make:command Redis/PublishCommand redis消费者订阅php artisan make:command Redis/SubCommand 启动websocketphp artisan ws <?php namespace App\Console\Commands; ......
506
0
0
2022-10-20
/*1.Connection*/ $redis = new Redis(); $redis->connect('127.0.0.1',6379,1);//短链接,本地host,端口为6379,超过1秒放弃链接 $redis->open('127.0.0.1',6379,1);//短链接(同上) $redis->pconnect('1 ......
365
0
0
2022-10-15
❝这可能是最中肯的 Redis 使用规范了(ps:文末抽奖)码哥,昨天我被公司 Leader 批评了。我在单身红娘婚恋类型互联网公司工作,在双十一推出下单就送女朋友的活动。谁曾想,凌晨 12 点之后,用户量暴增,出现了一个技术故障,用户无法下单,当时老大火冒三丈!经过查找发现 Redis 报 Could not get a resource from the ......
312
0
0
2022-10-12