
Redis
文章平均质量分 51
天下皆白_唯我独黑
爱我所爱,恨我所恨,墨眉无锋,似剑非攻。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
php redis 实现缓存过期回调监听
首先需要配置redis.conf配置参数【notify-keyspace-events】因为开启键空间通知功能需要消耗一些 CPU , 所以在默认配置下, 该功能处于关闭状态。可以通过修改 redis.conf 文件, 或者直接使用 CONFIG SET 命令来开启或关闭键空间通知功能:notify-keyspace-events 的参数可以是以下字符的任意组合, 它指定了服务器该发送哪些类型的通知:开启后打开两个面包一个开启监听一个设置过期时间的缓存下面是例子,只是一部分,我们只需要php脚本挂起这个方法原创 2022-06-16 00:17:33 · 1822 阅读 · 6 评论 -
PHP redis hIncrByFloat浮点型增量精度问题解决方案
在使用redis hIncrByFloat 增量小数的时候,经常容易出现精度误差如下图显然得到的结果不是我们想要的。想要redis保证原子性,又想精确浮点型数值增量相加,那么就衍生了写lua脚本的想法编写文档可以参考Lua 5.1 Reference Manual第一步:lua脚本编写## 第一种是直接转的字符串,没有放大倍数eval "local val = redis.call('hGet',KEYS[1],ARGV[1]); local inc_val; if val.原创 2022-04-21 18:07:14 · 1854 阅读 · 0 评论 -
PHP redis bitmap快速获取全部数据
/** * 获取bitmap * @date 2021/11/12 * @param $key * @return array */function get_bitmap_all($key){ $result =[]; $value = $redis->get($key); if($value) { /** * 解包(redis返回来的是二进制字符串,我们需要把它解成对应的数字) * 关于unpack的用法,如.原创 2021-11-12 17:48:16 · 2030 阅读 · 0 评论 -
PHP封装Redis Lua脚本
class RedisLuaScript { protected $_redis; /** * 是否支持lua脚本 * @var bool */ protected $_support_lua_script = true; /** * 脚本列表 * @var array */ protected $_func_table = [ // 先获取榜首信息再加积分 'zinc.原创 2021-09-29 17:01:34 · 301 阅读 · 0 评论 -
Redis Lua脚本
官方文档 :http://redisdoc.com/script/eval.htmlEVAL – Redis原创 2021-09-29 11:55:44 · 531 阅读 · 0 评论 -
PHP Redis 实现模糊查询
Redis Zscan 命令Redis Zscan 命令用于迭代有序集合中的元素(包括元素成员和元素分值)<?php/** * */$redis = new Redis();$redis->connect('127.0.0.1',6379);$key_name = 'fuzzy_query';$arr=[ 0=>'你好', 1=>'不好', 2=>'真好131啊', 3=>'你好213不好', 4=>原创 2020-11-20 19:03:38 · 1088 阅读 · 0 评论 -
PHP redis 使用BitMap存储setbit批量写入与getbit批量查询方法
普通单条用法不详细说明文档都有,下面主要介绍批量的写入与查询。php7.1写法/** * 批量向 setBit中添加元素 * * @param string $key setBit 的key * @param array $elems 待添加元素的集合,每一项为array('key' => value) * @param string $size 大小 u1代表无符号1位 * @return int */ pu.原创 2020-06-22 23:41:47 · 2480 阅读 · 2 评论 -
Redis (Hset)哈希存储数据类型的坑
null的类型通过redis哈希存在会变成空字符串。原创 2020-05-25 15:32:25 · 1169 阅读 · 0 评论 -
Redis php 批量写入有序集合(sorted set)
/** * 调用redis的方法批量写入有序集合 * 等同于$redis->zAdd('key_name1',100,1,100,2,100,3,100,4,100,5); */$redis = new Redis();$redis->connect('127.0.0.1',6379);$time_array = array('key_name1',100,1,100,2...原创 2020-03-02 11:54:00 · 1559 阅读 · 0 评论 -
php 批量向redis写入集合
php函数:call_user_func_array(PHP 4 >= 4.0.4, PHP 5)call_user_func_array - 用一个数组作为参数调用一个回调函数.返回值为回调函数执行的结果或者为false(回调函数执行有error时)官网地址说明使用方式:call_user_func_array(array($this->redis, 'sadd'), ...原创 2020-02-27 14:01:07 · 618 阅读 · 0 评论 -
Redis GEORADIUS地理位置分页实现
之前做了一个reids geo经纬度附近的人排序功能,今天终于找到了分页的方法与大家一同分享redis geo实现文章:https://blog.youkuaiyun.com/qq_24909089/article/details/96871817正文:函数:GEORADIUS命令中有很多可选参数,这里一一解释一下:- withcoord:返回结果中包含经纬度- withdist:返回...翻译 2019-11-12 11:38:30 · 4567 阅读 · 5 评论 -
PHP 加Redis 根据经纬度实现附近的人查询功能
1、业务需求:用户信息存储经纬度,根据某个经纬度查询附近的人,已圆为中心,可根据距离从近到远排序。2、使用技术:php,redis geo(geoadd,georadius)3、相关文档:http://redisdoc.com/geo/georadius.html实现:<?php/** * @author * @since */header("Content-ty...原创 2019-07-22 17:18:46 · 855 阅读 · 0 评论 -
Redis GEO实现根据经纬度进行范围查询 之php实现
先来一篇中文文档:http://redisdoc.com/geo/geoadd.html有序集合:https://www.runoob.com/redis/redis-sorted-sets.html一、redis geo可用版本: >= 3.2.0 存储是Redis 有序集合(sorted set)GEOADD 写入数据GEOADD命令以标准的x,y格式接受参数, ...转载 2019-07-22 17:01:17 · 1660 阅读 · 0 评论 -
Redis 主从与哨兵(Sentinel)监控配置搭建 -学习
一、Redis主从配置情况1:单台服务器配置redis主从,如果是单台服务器配置的redis主从,服务器挂掉会导致整个redis不可使用,配置主从的时候需要更换从redis的端口值。情况2:多台服务器配置redis主从,多台服务器配置主从,好处在于一台服务器挂掉并不会影响redis主从使用。本文介绍单台服务器本地配置redis主从,以下步骤1、找到redis.conf 配置位置,复...原创 2019-06-27 18:14:34 · 964 阅读 · 1 评论 -
Redis 主从与哨兵(Sentinel)监控之PHP中使用
前言:在哨兵服务搭建的redis主从缓存使用php连接的方式不是直接去连redis地址,而是连接哨兵服务,通过哨兵获取到redis当前主服务器。相关知识:predis, redis,Sentinel1、建一个Sentinel使用类,或者使用predis类库:<?php/** * redis php哨兵的使用 * User: * Date: 2019/7/1 * Em...原创 2019-07-02 10:39:46 · 1886 阅读 · 0 评论 -
Redis 链接时好时坏[ error ] [2]Redis::pconnect(): connect() failed: Connection timed out
发生原因:thinkphp 中的session 存的是redis ,今天的图形验证码也存的redis 刷新多次会出现请求不到的情况,查看php错误日志看到是redis链接失败了,但是不是直接链接不了,是刷新3次两次是好的一次是异常的。解决方案:1、更换一台redis,如何是好的代表是redis有问题,如果是不行说明程序有问题2、重启redis##查看进程ps -ef | gre...原创 2019-06-22 01:04:23 · 2479 阅读 · 0 评论 -
PHP redis 清空 整个哈希hash表信息
1、$redis->del('hash表名');代码来了function index(){ $redis = new Redis(); $redis->connect('127.0.0.1',3306); /** * //写入哈希(hash) * 第一个参数是表名 * 第二个是key的名 * 第三个是key的...原创 2019-05-31 14:12:32 · 2689 阅读 · 0 评论 -
mac 启动redis mac可视化redis客户端软件推荐
启动本地redisredis-server工具推荐:rdm原创 2019-05-31 11:00:31 · 751 阅读 · 0 评论 -
linux redis 基本命令
redis常用命令 操作 命令 解释 登录本地redis redis-cli 查看redis版本 redis-server -v 查看当前服务器 在登录redis内查看版本 info 127.0.0.1:6379> info 启动redis redis-server 后台启动redis redis...原创 2019-05-22 13:33:06 · 1351 阅读 · 1 评论