走进KeyDB
KeyDB项目是从redis fork出来的分支。众所周知redis是一个单线程的kv内存存储系统,而KeyDB在100%兼容redis API的情况下将redis改造成多线程。项目git地址:https://github.com/JohnSully/KeyDB网上公开的技术细节比较少,本文基本是通过阅读源码总结出来的,如有错漏之处欢迎指正。
Redis 未授权访问漏洞(附Python脚本)
0x01 环境搭建
#下载并安装
cd /tmp
wget http://download.redis.io/releases/redis-2.8.17.tar.gz
tar xzf redis-2.8.17.tar.gz
cd redis-2.8.17
make
#启动redis服务
cd src
./redis-server
启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了。
记一次从Rails至Golang的接口迁移
初创公司常会选择类似Rails这样的框架进行业务的快速开发,但Rails存在并发性低的弱点,随着业务量的提升,有可能出现性能上的问题。这时,往往需要将一部分高频调用的接口使用一种并发性更好的技术(如openresty, golang, erlang, scala...)加以改造,本文总结了将一个线上高频访问的接口服务从Rails改造为Golang实现的实战经验。
Redis笔记(七)Java实现Redis消息队列
这里我使用Redis的发布、订阅功能实现简单的消息队列,基本的命令有publish、subscribe等。
在Jedis中,有对应的java方法,但是只能发布字符串消息。为了传输对象,需要将对象进行序列化,并封装成字符串进行处理。
redis4.0之利用管道优化aofrewrite
redis的aof持久化本质上是一个redo log,把所有执行过的写命令追加到aof文件中。那么随着redis的运行,aof文件会不断膨胀,当触发收缩条件时就要做aofrewrite。
redis是通过fork子进程来做aofrewrite,同时为了保证aof的连续性,父进程把aofrewrite期间的写命令缓存起来,等收割完子进程之后再追加到新的aof文件。
一文揭秘阿里云Redis全球多活产品
Redis全球多活产品是阿里云自研、基于云数据库Redis版(ApsaraDB for Redis)、100%兼容 Redis 协议的多活数据库系统。通过数据同步通道,把多个Redis实例组网成1个逻辑上的 Redis 多活实例,多活实例内的所有实例均可读写并保持实时数据同步。