苏苏的博客

简约至极

redis安装与使用

安装redis

所有redis版本的release见http://download.redis.io/releases/

apk update && apk upgrade && apk add make gcc g++ linux-headers

cd /tmp
REDIS_VERSION=redis-4.0.2
wget http://download.redis.io/releases/${REDIS_VERSION}.tar.gz
tar xzf ${REDIS_VERSION}.tar.gz
cd ${REDIS_VERSION}
LDFLAGS=-static make -j2 && make install
mv /tmp/${REDIS_VERSION}/redis.conf /etc/redis.conf

编译1分钟即可完成

无其他依赖 4.0版本后 直接可静态编译的,执行完成后可执行文件位于src目录

redis-check-aof redis-check-rdb redis-sentinel redis-server 这四个都是同一个文件,是redis-server的别名

配置

一个简单的redis配置文件 /etc/redis.conf

daemonize yes
pidfile /var/run/redis-server.pid
port 6379
bind 127.0.0.1
timeout 300
save 60 10000

使用Unix Socket 的方式运行性能会更好

UNIX Domain Socket是在socket架构上发展起来的用于同一台主机的进程间通讯(IPC),它不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进程,当用户连接到Redis通过TCP/IP连接或Unix域连接,千兆网络的典型延迟大概200us,而Unix Domain Socket可能低到30us。

https://pics.mf8.biz/mf8/e0ajg.png

unixsocket /var/run/redis/redis.sock
unixsocketperm 700

注释掉 bind 127.0.0.1 修改 port 6379 为 port 0 使其取消掉绑定IP

redis-cli -s /tmp/redis.sock --latency

redis-cli --latency -h 127.0.0.1 -p 6379

可使用上述命令测试两者的延时

redis 在 mac下也可直接编译,一分钟即可编译好。