随笔分类 - Redis
Redis相关
摘要:之前写了一篇PHP+Redis链表解决高并发下商品超卖问题,今天介绍一些如何使用PHP+Redis+Lua解决高并发下商品超卖问题。 为何要使用Lua脚本解决商品超卖的问题呢? Redis在2.6版本后原生支持Lua脚本功能,允许开发者使用Lua语言编写脚本传到Redis中执行。 将复杂的或者多步的
阅读全文
摘要:Redis没有直接使用C语言传统的字符串表示(以空字符结尾的字符数组,以下简称C字符串),而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的抽象类型,并将SDS用作Redis的默认字符串表示。Reids自己构建的sds要比默认的c字符串性能更好,也更安全。
阅读全文
摘要:安装Redis客户端 Go语言中使用第三方库https://github.com/go-redis/redis连接Redis数据库并进行操作。使用以下命令下载并安装: go get github.com/go-redis/redis/v8 注:导入时指定了版本v8,忽略版本是一个常见错误 连接red
阅读全文
摘要:上一篇文章聊了一下使用Redis事务来解决高并发商品超卖问题,今天我们来聊一下使用Redis链表来解决高并发商品超卖问题。 实现原理 使用redis链表来做,因为pop操作是原子的,即使有很多用户同时到达,也是依次执行,推荐使用。 实现步骤 第一步,先将商品库存入队列 /** * 添加商品数量到商品
阅读全文
摘要:许多网站都有排行榜的功能,比如球员人气榜单、阅读排行榜,对于一些小网站,通过查数据库就能实现排行榜的功能,但是对于稍微有点用户量而且还是实时排名的网站,使用一些关系型数据库如(MySQL、Oracle)等来实现就有点力不从心了,而且对数据库的压力也很大,体验也不好,更好的选择是使用Redis就是来做
阅读全文
摘要:基本指令 redis里有一些通用的操作,不管它是什么类型操作都是通用的,不过不管是做什么操作,都得先连接redis服务器,实例化redis对象 $redis = new Redis(); if (!$redis->connect('127.0.0.1', 6379)) { trigger_error
阅读全文
摘要:Redis 默认支持持久化,依据自己的方式,将缓存在内存中的数据存储在磁盘上! Redis支持两种持久化数据的方式。第一种持久化方法为时间点转储(point-in-time dump),转储操作既可以在“指定时间段内有指定数量的写操作执行”,这一条件被满足时执行,又可以通过调用两条转储到硬盘(dum
阅读全文
摘要:redis 为了速度,默认没有开启密码口令验证,为了安全,可以选择开启。 在 redis 的配置文件 redis.conf 的 requirepass 后设置密码,示例设置为itbsl: 在修改完成后保存并重启redis即可生效了,如果redis设置了口令,PHP连接redis也得设置auth了 $
阅读全文
摘要:Redis支持简单易用的主从复制(master slave replication)功能,该功能可以让从服务器成为主服务器的即使备份服务器。 作用 : 主从备份,防止服务器宕机; 读写分离,分担主服务器的任务; 任务分离,从服务器分别担任备份工作和计算工作; 注意点 : Redis使用异步复制 一个
阅读全文
摘要:本文将介绍如何在CentOS安装Redis,以及如何给PHP安装redis扩展。
阅读全文