redis 性能优化

1. 使用unix domain socket

对于linux系统,如果redis客户端和服务端都在同一台服务器,可以使用 unix socket ,不需要走TCP监听网络端口,使用后效果非常明显。

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

  • 测试没有使用unix socket 的 redis延迟
redis-cli --latency -h 127.0.0.1 -p 6379
# 打开 redis.conf

# 修改 port 6379 为 port 0

# 打开 bind 127.0.0.1 的注释

# 打开 unixsocket /tmp/redis.sock 注释

# 打开 unixsocketperm 700 注释
  • 启动 redis
# redis-server /etc/redis.conf
  • 启动redis控制台
# redis-cli -s /tmp/redis.sock
  • 测试使用unix socket的redis
redis-cli -s /tmp/redis.sock --latency

2.待续

你可能感兴趣的:(redis,linux)