redis
文章平均质量分 69
qq_19557947
这个作者很懒,什么都没留下…
展开
-
Redis缓存击穿 缓存雪崩 缓存穿透
缓存击穿高并发下,redis的一个热点key刚好过期,导致大量请求没有命中缓存,从而导致大量数据库查询,导致数据库压力增大解决方案:热点key永不过期。缓存雪崩大量key的过期时间相同,当同时过期时,短期内数据库会有大量请求,从而导致数据库压力增大解决方案:分散过期时间。缓存穿透用户请求一个不存在的数据,导致每次都不能命中缓存,每次都查询数据库,从而导致数据库压力增大解决方案:即使数据库中不存在,也生成一个过期时间较短的缓存数据,避免都此请求都查询数据库...原创 2021-03-15 17:25:49 · 110 阅读 · 0 评论 -
shell脚本通过scan批量删除redis
sh scantodel.sh *pattern* 127.0.0.1 6379 0 5000 1scantodel.sh文件如下参数1是需要删除key的匹配字符串参数2是redis的host参数3是redis的端口参数4是redis的db参数4是每次删除的个数参数6是每次批量删除的间隔秒数,支持小数脚本执行的linux必须安装有redis客户端#!/bin/bashif [ "$#" -lt 3 ]then echo "Scan keys in Re..原创 2020-11-04 23:52:58 · 1726 阅读 · 0 评论 -
Redis的multi(事务)和pipeline(管道)
redis的multi函数有两种模式Redis::MULTI或Redis::PIPELINE,默认Redis::MULTIRedis::MULTI 将多个操作当做一个事务执行,多个命令依次发给服务端,用服务端缓冲,最后由EXEC执行。保证原子性,效率低Redis::PIPELINE 将多条命令一次性的发给服务端,多个命令写在客户端,客户端缓冲,一次性发给服务端,最后由EXEC执行。没有...原创 2019-07-29 16:56:14 · 1926 阅读 · 0 评论 -
redis常见问题
什么是redis?redis是一个基于内存的高性能key-value数据库,全称Remote Dictionary Server。redis和memcached的区别?1)持久化memcached把数据全部存在内存中,断电后会挂掉,数据不能超过内存大小redis支持持久化,持久化的数据存在硬盘上2)支持的数据类型memchached支持的数据类型相对简单,redis支持...原创 2019-03-29 10:11:07 · 112 阅读 · 0 评论 -
Redis持久化
reids是一个key-value存储系统,为了保证效率,缓存在内存中,但是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,以保证数据的持久化。所以:redis是一个支持持久化的内存数据库,可以将内存中的数据同步到磁盘保证持久化。Redis的持久化策略:2种 ---------rdb:快照形式是直接把内存中的数据保存到一个du转载 2017-10-09 14:04:46 · 242 阅读 · 0 评论 -
Redis 通用命令
rename重命名一个key$redis->set('x', '42');$redis->rename('x', 'y');$redis->get('y'); // → 42$redis->get('x'); // → `FALSE`expire给KEY设置一个生存周期,单位为秒$redis->set('x', '42');$redis->expire('x原创 2017-10-09 11:42:59 · 257 阅读 · 0 评论 -
Redis zSet命令
zAdd增加一个或多个元素,如果该元素已经存在,更新它的socre值虽然有序集合有序,但它也是集合,不能重复元素,添加重复元素只会更新原有元素的score值$redis->zAdd('key', 1, 'val1');$redis->zAdd('key', 0, 'val0');$redis->zAdd('key', 5, 'val5');$redis->zRange('原创 2017-10-09 11:16:24 · 19754 阅读 · 0 评论 -
Redis Set命令
sAdd添加一个VALUE到SET容器中,如果这个VALUE已经存在于SET中,那么返回FLASE。如果VALUE不存在于SET中,那么ADDED成功,返回TRUE,否则返回FALSE。$redis->sAdd('key1' , 'member1'); /* TRUE, 'key1' => {'member1'} */$redis->sAdd('key1' , 'member原创 2017-10-09 10:31:21 · 362 阅读 · 0 评论 -
Redis Hash命令
hSet添加一个VALUE到HASH中。如果VALUE已经存在于HASH中,则返回FALSE。$redis->delete('h')$redis->hSet('h', 'key1', 'hello'); /* 1, 'key1' => 'hello' in the hash at "h" */$redis->hGet('h', 'key1'); /* returns "hello"原创 2017-10-09 09:42:11 · 289 阅读 · 0 评论 -
Redis List命令
lPush添加一个字符串值到LIST容器的顶部(左侧),如果KEY存在并且不是一个LIST容器,那么返回FLASE,如果成功返回List容器最新长度$redis->delete('key1');$redis->lPush('key1', 'C'); // returns 1$redis->lPush('key1', 'B'); // returns 2$redis->lPush(原创 2017-09-28 17:48:47 · 644 阅读 · 0 评论 -
Redis String命令
set设置值到KEY返回true或者false$redis->set('key', 'value');get取得与制定的键值相关联的值key不存在返回false,key存在返回关联的值$redis->get('key');getSet设置一个value并且返回该key当前的value$redis->set('x', '42');$exValue =原创 2017-09-28 16:29:24 · 327 阅读 · 0 评论 -
wampServer安装Redis扩展
1,查看phpinfo()查看PHP版本,编译器版本PHP Extension Build,cpu架构Architecture.2,根据版本选择扩展包php_redis.dll下载地址:http://windows.php.net/downloads/pecl/snaps/redis/2.2.5/php_igbinary.dll下载地址:http://windows.php转载 2017-08-08 19:17:48 · 1654 阅读 · 0 评论