
自动化运维--Redis
沙漠蚂蚁--顽石
视频教程:网易云课堂搜索"顽石"
展开
-
Redis常见问题
1. 重装 redis 后 redis-server 启动失败 报错如下:Can't handle RDB format version 7Fatal error loading the DB: Invalid argument. Exiting.一般是低版本无法兼容高版本的 rdb 导致的。 解决: 删除 dump.rdb文件,再启动 redis-server。原创 2017-09-22 18:37:52 · 2812 阅读 · 0 评论 -
Redis 运维
1. 修改默认端口 修改 redis.conf 中 port参数,改为需要的端口,启动redis服务:redis-server xxx/redis.conf #需要指定配置文件位置,否则默认连6379redis-cli -p xxx2. 修改数据库上限 可建数据库的数目对应源码中 redis.h 中 struct redisServer 中的 int dbnum 变量。 默认为 16 个配原创 2017-09-22 11:13:51 · 548 阅读 · 0 评论 -
Redis命令精要--列表
1. lpush 向列表插入数据 lpush l1 v12. rpush 列表中插入元素,与lpush方向相反 rpush l1 v13. lset 为列表中指定index设置设置值,即修改已有的数据。 lset l1 0 v1 设置index为0的位置值为v1 注:被lset的列表必须存在,否则报错。4. lpop 移除并返回列表的头元素(被移除的元素)。 lpop l15.原创 2017-10-12 17:07:21 · 262 阅读 · 0 评论 -
Redis 命令精要--哈希表
1.原创 2017-10-11 17:12:09 · 299 阅读 · 0 评论 -
Redis 命令精要--string
1. append 为指定的key的值追加数据,如果key不存在则会进行新建。 set k1 a append k1 bc2. bitcount 计算字符串中1的位数。 setbit bit1 0 1 setbit bit1 1 0 bitcount bit1 可以用来统计网站中每个用户的登录次数: setbit personID dayNumber 1; bitcount per原创 2017-10-11 17:11:15 · 287 阅读 · 0 评论 -
Redis 命令精要--key相关命令
1. expire 为key设置生存时间。 expire 的时间值可以被set、getset、del、persist覆盖或者删除,rename、hset对expire无影响。 此命令在redis2.4延时在1s内,redis2.6延时在1ms内。2. expireat 与expire一样都是为key设置生存时间,区别在于expireat中时间为unix时间戳,ttl时返回的时间也为时间戳。3原创 2017-09-27 17:25:58 · 701 阅读 · 0 评论 -
Redis 存储自定义的数据类型
Redis自带的基本类型的操作可以自行查阅资料,网上可以轻易找到很多的相关的资料。 存储自定义类型时需要进行序列化、反序列化。1. Java示例代码//定义需要存储的数据 StudentVo studentVo = newStudentVo(); studentVo.setId(student.getId()); studentVo.setApplyTeacherState(stude原创 2017-10-10 12:40:42 · 2289 阅读 · 0 评论 -
Redis pipline
1. 简介 Redis本身是一个cs模式的tcp server, client可以通过一个socket连续发起多个请求命令。 每个请求命令发出后client通常会阻塞并等待redis服务端处理,redis服务端处理完后将结果返回给client。 redis的pipeline(管道)功能在命令行中没有,但redis是支持pipeline的,而且在各个语言版的client中都有相应的原创 2017-10-18 10:34:17 · 634 阅读 · 0 评论 -
Redis 通配符批量删除key
由于 keys 命令可能会导致 Redis 进程挂带,因此部分云厂商会禁用此命令,如网易云,那么在这种情况下如何批量删除 key? 可以考虑 scan+match 的方式迭代获取到所有的 key,然后批量删除。 示例 python 代码如下:import redispool = redis.ConnectionPool(host='10.173.39.233', port=6379, db=0,原创 2017-09-18 19:03:18 · 7633 阅读 · 0 评论 -
利用老版本 Redis 漏洞获取服务器 root 权限。
1. 背景介绍redis 服务默认情况下是未配置密码的,如果所在服务器恰好开了外网则此时很容易借助 redis 的漏洞获取到目标服务器的 root 权限。 yum 安装的 3.x 系列的 redis 一般默认开启了 protected 模式,此时只能从 127.0.0.1 连接操作 redis-server: 如果远程连接上,则不能进行操作: 如果用户从本地连上 redis-serve原创 2017-12-26 19:41:48 · 6722 阅读 · 1 评论