![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
苗先生的PHP记录
有什么我碰到的问题, 看了我的笔记没有解决,可以在帖子中留言 , 大家一起探讨解决!
正在想跨出舒适圈,而每个人都喜欢在舒适圈里呆着,整得我都进不去了-v-
懒得要命 ,很少做原理文字分析,都是自己在项目中遇到的问题或笔记,我只要结果不要过程!
展开
-
hyperf redis-cluster连接
配置很简单 , 随便在网上一搜一大堆 , 但是一旦出问题 , 网上有效的解决方案会很少 , 官方文档也不太容易懂 , 很多网上的帖子都是复制粘贴的和想要的结果根本不搭边😒。这里我之前是使用的redis-sentinel哨兵 , 但是总有redis无法连接的情况发生 , 于是从 1主3从3哨兵直接上cluster集群 , 3主3从。这里的seeds选项是各个redis节点, 我这里是所有节点都写了 ,但是我测试只写一个节点也是好使的。这里有一个注意事项 , 在使用redis-cli的时候需要加上。原创 2022-11-22 15:35:26 · 537 阅读 · 0 评论 -
RediSearch CentOS7编译安装
github地址: GitHub - RediSearch/RediSearch: A query and indexing engine for Redis, providing secondary indexing, full-text search, and aggregations.git克隆下来 , 但是要注意 , 需要等待验证的完整在下图中存在多个git , 如果验证失败应该翻墙克隆 , 否则大概率无法编译成功建议ftp上传 , 压缩包压缩后里面可能不存在 .git文件夹这里是在安装依赖 ,原创 2022-10-31 10:44:26 · 294 阅读 · 0 评论 -
hyperf redis哨兵连接池 读写分离
这里使用的redis哨兵模式 , 并通过实例化不同的连接池达到读写分离的作用首先如图所示 , 创建这四个文件。原创 2022-10-27 09:48:36 · 963 阅读 · 0 评论 -
hyperf自定义连接池创建redis哨兵 1
这里是用predis写的 , 所以这里需要安装predis composer包首先在app \pool 文件夹中创建了这两个文件其中myConnectionPool是连接池 , RedisIn是创建redis连接。原创 2022-10-21 10:14:28 · 549 阅读 · 0 评论 -
php_redis扩展 连接redis哨兵模式
我用hyperf连接redis哨兵碰到了很多很多问题最主要的问题就是一大堆人挂羊头卖狗肉写着php连接哨兵的幌子内容是配置哨兵我™服了没办法人要靠自己我这里用的中文镜像站 , 链接放评论里了除了php-redis扩展连接方式以外 ,还有predis软件包的连接方式 , 自行翻找我的博客predis软件包是用composer下载的我这里就直接用的原生空文件写的demo我这里没有安装 ,我用的宝塔 ,想手动安装自行查找资料 ,这个不难下面我就不放截图了。原创 2022-10-21 09:19:58 · 386 阅读 · 0 评论 -
predis 连接redis哨兵模式
composer安装完成后 , 项目下会出现一个vendor文件夹和composer.json。还有php-redis扩展的连接方式 , 自行翻找我的博客。我用hyperf连接redis哨兵碰到了很多很多问题。这里代码也很简单 , 这里可以配置多个哨兵的。然后打开哨兵下属主机从机 , 查看是否写入成功。predis软件包是用composer下载的。我这里用的中文镜像站 , 链接放评论里了。我这里就直接用的原生空文件写的demo。写着php连接哨兵的幌子。输出 ok123。原创 2022-10-21 09:07:45 · 787 阅读 · 1 评论 -
Redis Sentinel哨兵模式2 配置
redis哨兵配置与启动原创 2022-10-19 09:26:06 · 879 阅读 · 0 评论 -
Redis Sentinel哨兵模式1
由一个或多个Sentinel实例组成的Sentinel系统可以监视任意多个主服务器,以及所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求。当主节点不能正常工作时,Sentinel会开始一次自动的故障转移操作,它会将与失效主节点是主从关系的其中一个从节点升级为新的主节点, 并且将其他的从节点指向新的主节点。跟主服务器一样,Sentinel 会与每个被发现的从服务器创建命令连接和订阅连接。原创 2022-10-19 09:19:50 · 119 阅读 · 0 评论 -
redis配置主从
主机没有任何配置的修改。原创 2022-10-14 15:22:43 · 755 阅读 · 0 评论 -
单服务器启动多个redis实例
pidfile 为 /var/run/redis/redis6378-server.pid。logfile 为 /var/log/redis/redis6378-server.log。如果报 -bash: redis-server: command not found。复制redis.conf为新的配置文件 , 如redis6378.conf。dbfilename 为 redis6378.rdb。原创 2022-10-14 10:07:10 · 483 阅读 · 0 评论 -
建立linux软链
从www的redis服务建立软链(可以理解为建立windows的快捷方式)原创 2022-10-14 08:54:31 · 460 阅读 · 0 评论 -
使用redis geo计算范围内的数据
将指定的地理空间位置(纬度、经度、名称)添加到指定的key中。这些数据将会存储到sorted set这样的目的是为了方便使用或者命令对数据进行半径查询等操作。原创 2022-08-11 13:28:29 · 526 阅读 · 0 评论 -
PHPSTUDY_PRO配置redisRDB持久化
打开phpstudy_pro 的目录 , 进入Extensions目录下的redis。最后一行是持久化文件dump.rdb的存储目录 , 自行创建。我这里创建了一个文件夹专门存储持久化文件。原创 2022-08-11 09:08:43 · 430 阅读 · 0 评论 -
PHP Redis基于TP5.1框架实现互斥锁
互斥锁常见使用场景: 缓存穿透看下面这两个用户其实都请求了数据库,假设用户量大,会导致大量请求打到数据库导致宕机 我的这个demo是苹果授权的服务层代码 , 这里获取的数据是可以重复使用的,但是所有用户都请求会浪费服务器资源,所以添加一个互斥锁减少服务器的消耗...原创 2022-07-11 17:35:37 · 677 阅读 · 0 评论 -
phpstudy安装高版本redis
当前phpstudy中能直接安装的只有3.0.504这个版本老实说新手还好 , 但是如果在本地写一些企业级应用时 , 会出现一些小问题而且如果你想体验一下redis一些特性等东西时,3.0.504根本不够用这时, 就需要手动安装了, 但是会存在一下几点:网上能找到的redis一般都是微软团队弄的: GitHub - microsoftarchive/redis: Redis is an in-memory database that persists on disk. The data model is k原创 2022-07-07 10:20:13 · 1957 阅读 · 0 评论 -
Redis-RTT
RTT是网络往返时间的简称每一次执行redis都会向redis-server发送执行的命令(send),比如set a 1, redis-server接收到请求并执行后,会返回一个数据或结果(recv) , send时间和recv中间的时间就是RTT, 也就是说假如发送了三次redis命令,就会产生三个RTT需要注意的是集群模式对于pipline不太友好,因为pipline要操作的key可能在不同的哈希槽上,此时就需要进行请求的转发,但是这是与pipline的思想相违背的,所以集群模式下不太支持使用pip原创 2022-06-28 10:25:20 · 267 阅读 · 0 评论 -
PHP使用redis watch监听 redis事务 秒杀
public function index() { $redis = new \Redis(); $redis->connect("39.105.156.191",6379); $redis->auth("5s8156w91bibx"); $store = 5; //商品秒杀总数 $redis->watch("sales"); // 监听sales $sales = $redis-...原创 2022-04-03 23:05:18 · 1379 阅读 · 0 评论 -
Laravel 实现redis分布式锁
public function index() { $block = Cache::lock("GoodLock",10); //返回一个redis对象 if ($block->get()){ // Todo 业务逻辑 dd($block); echo "业务逻辑<br>"; $block->release(); // 释放锁 .原创 2022-04-03 21:45:07 · 1281 阅读 · 0 评论 -
Redis-Cli 运行lua脚本
我当前lua脚本在 /www/wwwroot/redis.lua 中代码如下:根据key获取一个值 , 当条件成立时产出这个key local key=KEYS[1]local value=ARGV[1]if(redis.call('get', key) == value)then return redis.call('del', key)end如果在redis-cli中 是无法打开这个文件的所以应该命令行中运行redis-cli --eval /www/ww原创 2022-04-03 17:41:32 · 2019 阅读 · 0 评论 -
Redis操作 (go , php)
php$redis = new Redis();$redisKey = "car:user:".$uid; // 可视化工具中是car文件夹下user文件夹// 查看key是否存在$Exists = $redis->Exists($redisKey);// 查询的数组放入HASH中 ($res is a Array)$rs = $redis->hmset($redisKey ,$res); // 设置超时时间$rs = $redis->expire($red.原创 2022-03-07 18:34:04 · 594 阅读 · 0 评论 -
Beego 使用redigo连接redis
首先连接: 创建services/redis 文件夹 , 创建redis.go 文件package redisClientimport ( "github.com/garyburd/redigo/redis" "time")// 直接连接func Connect() redis.Conn { pool, _ := redis.Dial("tcp", "127.0.0.1:6379") return pool}// 连接池连接func PoolConnect() redi.原创 2022-03-07 14:41:31 · 1104 阅读 · 0 评论 -
TP使用Redis列表list完成秒杀(限制商品)
<?phpnamespace app\index\controller;use think\Controller;use think\Db;use think\cache\driver\Redis;class Miaosha extends Controller{ private $redis = null; private $cachekey = null; //缓存变量名 private $basket = []; //私有数组,存放商.原创 2022-02-12 09:43:34 · 1364 阅读 · 0 评论 -
TP6配置Redis
首先复制一个 config/cache 配置文件到相应位置(tp6shop-singwa在app/api/config)把这个位置改成Redis在下面配置一下redis'redis' => [ 'host' => '127.0.0.1', 'port' => 6379, 'password' => '', ],更多配置项在↓TP-Redis基础类库在t原创 2020-10-12 10:56:24 · 1337 阅读 · 0 评论