首页
留言板
友情链接
Search
1
【javascript】JS-向当前url追加参数
2,327 阅读
2
【PHP】生成随机昵称
2,188 阅读
3
【PHP】判断一个字符串是否属于序列化后的数据
2,017 阅读
4
【css】html+css给文章页,做阅读全文
1,957 阅读
5
【PHP】 设计模式(23种)
1,898 阅读
默认分类
typecho
代码改变世界
mysql
Winform
go
设计模式
PHP
python
nginx
网络安全
文艺范
mac
Search
标签搜索
php
typecho
代码注释
mysql
redis
nginx
golang
docker
html
curl
linux
go
thinkphp
mamp
laravel
跨域
http
rsa
sql
酒
依然范儿特西
累计撰写
122
篇文章
累计收到
26
条评论
首页
栏目
默认分类
typecho
代码改变世界
mysql
Winform
go
设计模式
PHP
python
nginx
网络安全
文艺范
mac
页面
留言板
友情链接
搜索到
4
篇与
redis
的结果
2023-02-15
redis如何提高缓存命中率
redis如何提高缓存命中率
2023年02月15日
25 阅读
0 评论
0 点赞
2022-02-22
解决redis大key问题
很多朋友肯定在想redis的key能有多大呀? 这里就有个误区了,所谓的大key问题是某个key的value比较大,所以本质上是大value问题。
2022年02月22日
430 阅读
0 评论
3 点赞
2021-11-05
日常项目中缓存穿透处理
说起缓存穿透,大家都知道, 真正在使用过程中,很少有人感觉会缓存穿透, 其实在我们日常开发过程中,不知不觉 你就写了个bug , 下边是我们开发中发现的一种缓存穿透写法, 仅供参考:缓存穿透写法 /* 错误写法示例 * * 解读: * * 当 $data_list 查询结果为空时候, 会导致 msgpack_pack 压缩后 存储缓存结果为空 * 从缓存取出数据时候, msgpack_unpack 解压后,数据也是空值,从而导致 一直无法命中缓存, */ public static function getList(){ $cache_key = 'richerdyoung.com:v1'; $redis = new Redis(); $data_list = msgpack_unpack($redis->get($cache_key)); if(empty($data_list)){ $data_list = getListByDb(); $redis->set($cache_key,msgpack_pack($data_list),86400); } return $data_list; } 正确写法 /* 正确写法 * 解读 * * 当取出 不存在的 $cache_key 结果会返回 false ,此时查询db , 如果db返回空,存入 redis * 第二次查询 $cache_key ,缓存key存在,但是结果为空,直接返回, 从而避免 重复查询DB * * 也可以使用 $redis->exists($cache_key) 去判定 */ public static function getAllAdOwnerignoreUserTypeList(){ $cache_key = 'richerdyoung.com:v1'; $redis = new Redis(); $cache_data_list = $redis->get($cache_key); if($cache_data_list === false){ $data_list = getListByDb(); $redis->set($cache_key,msgpack_pack($data_list),86400); }else{ $data_list = msgpack_unpack($cache_data_list); } return $data_list; }
2021年11月05日
186 阅读
3 评论
5 点赞
2021-06-09
【redis】PHP Redis扩展无法加载的问题解决方法
问题安装命令pecl install redis安装之后,出现报错:PHP Warning: PHP Startup: Unable to load dynamic library 'redis.so' (tried: /usr/lib64/php/modules/redis.so (/usr/lib64/php/modules/redis.so: undefined symbol: php_json_decode_ex), /usr/lib64/php/modules/redis.so.so (/usr/ lib64/php/modules/redis.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 解决办法1 配置 php.ini在php.ini中一定要配置extension_dir和extension,如:extension_dir = "/usr/lib64/php/modules/" extension=redis.so2.配置redis.ini# 在/etc/php.d/目录中创建redis.ini文件 vim redis.ini # 文件中添加: extension=redis.so3.重启php-fpm即可systemctl restart php-fpm
2021年06月09日
278 阅读
0 评论
0 点赞