redis本地緩存優化之socket鏈接

背景

在咱們日益複雜的系統中,總會有不少對時效性要求不大或者更新頻率很低的數據,爲了減小網絡和計算耗時,咱們會將計算結果緩存起來來提升系統性能。php

解決方案

提到緩存,咱們很容易想到redismemcache等內存緩存工具,鑑於redis支持跟多的數據結構和持久化等特性,我會更傾向於前者。這樣在應用機器上本地部署redis服務器就能夠用來緩存前面提到的可緩存數據。nginx

如何進一步優化

通常狀況下,咱們都是以tcp的鏈接方式使用redis,這也是其默認支持的方式,可是這樣的話即便是在本機,也會產生網絡請求(想一想三次握手、四次揮手。。。),對性能是有必定損耗的,聯想到php-fpmnginx可使用tcpunix-socket方式,那redis是否也能夠呢?通過了解,是能夠的!因此咱們這裏也改爲unix-socket方式。redis

如何配置

在redis.conf文件中取消註釋兩條語句:緩存

unixsocket /tmp/redis.sock 
unixsocketperm 700
複製代碼

而後運行redis,建立redis鏈接時用redis.new (:path =>"/tmp/redis.sock"),便可bash

性能對比

SET和GET操做提高 60%左右。服務器

相關文章
相關標籤/搜索