-
1、下载源码,解压缩后编译源码。
$ wget http://download.redis.io/releases/redis-2.8.3.tar.gz
$ tar xzf redis-2.8.3.tar.gz
$ cd redis-2.8.3
$ make
2、编译完成后,在Src目录下,有四个可执行文件redis-serv
-
本文将通过分析代码来介绍Redis的启动过程,通过查看Redis 的启动脚本,得知Redis的启动时从Redis.c的main方法开始的。Redis启动可以分为以下几个步骤:
1.初始化Redis服务器全局配置
2.重置服务器Sa
-
redis 替代php文件存储session的实例
查看实例之前请先了解 PHP session_set_save_handler函数的用法
定义个SessionManager 类
class SessionManager {
private $redis;
public function __construct(){
$this->
-
概述
Redis也会因为内存不足而产生错误 , 也可能因为回收过久而导致系统长期的停顿,因此掌握执行回收策略十分有必要。在 Redis 的配置文件中,当 Redis 的内存达到规定的最大值时,允许配
-
业务需求中经常有需要用到计数器的场景:譬如一个手机号一天限制发送5条短信、一个接口一分钟限制多少请求、一个接口一天限制调用多少次等等。使用Redis的Incr自增命令可以轻松实现以上
-
1. 基于 session 实现短信登录
1.1 短信登录流程图
1.2 实现发送短信验证码
前端请求说明:
说明请求方式POST请求路径/user/code请求参数phone(电话号码)返回值无
后端接口实现:
@Slf4j
@Service
p
-
一、下载
官网:Redis 我们下载 Stable 稳定版
# cd /mydata
# wget https://download.redis.io/releases/redis-6.2.6.tar.gz
二、安装redis6.2.6
1、安装到/usr/local/redis6.2.6/目录下
# cd /mydata/
# tar -z
-
1. 问题场景
我们在使用Redis的时候经常会将对象序列化存储到Redis中,在取出的时候进行反序列化,如果对象过大在进行序列化和反序列化的时候会有一定性能问题。今天查看了CSRedis源码发现
-
一、简介
Redis采用了乐观锁方式进行事务控制,它使用watch命令监视给定的key,当exec(提交事务)的时候,如果监视的key从调用watch后发生过变化,则整个事务
-
win 7 安装redis服务
Redis官方是不支持windows的,只是 Microsoft Open Tech group 在 GitHub上开发了一个Win64的版本,项目地址是: https://github.com/MSOpenTech/redis
win 7 安装redis服务目录下载 redis安装 redis解压文
-
一、造成原因与场景
在接口连接 redis 时,使用了 pconnect 进行 redis 长连接,在 Redis->auth() 中抛出异常:
PHP Fatal error: Uncaught exception 'RedisException' with message 'read error on connection'
注:由于 php-fpm
-
存储sortedset:
存储:zadd key score menber1 score menber2 ...
升序排列:zrange key start end [withscores]
降序排列:zrevrange key start end [withscores]
取得前三名:
按照排名范围删除元素:zremrangebyrank key start sto
-
1 链表和链表节点的结构
1.1 节点结构
节点的结构大概长下边这个样子:
那么,把这些节点就连起来就成了这个样子:
1.2 链表结构
链表自然除了要把这些节点连起来,还得保存一些其他的信
-
1、Sentinel 哨兵
Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监
-
1、redis-cli命令行中执行:
# 调用redis命令设置缓存
# 不传参数
eval "return redis.call('set', 'name1', 'Tom')" 0
# 传入1个值参数
eval "return redis.call('set', 'name2', ARGV[1])" 0 "Tom"
# 传入1个键名参数和1个值参数
ev