IT|軟體|資料庫|Key-Value|Redis 安裝

簡介    7 November 2016

Redis 是近年來出現 NoSQL 開源資料庫的一種,並且將資料存放在記憶體中,以提升讀取的效率。以架設古典音樂串流網站 Muzik Online 聞名的希幔科技,對於他們旗下的網站需要應付大量的流量,採用 Redis 做分散式快取服務。

Redis 這種記憶體式資料庫,主要的功能除了提供快取外,還可額外提供運算處理,所以非常適合輔助關聯式資料庫。以他實際的應用方式,全部資料還是放在資料庫,真正需要加快速度的資料或額外特別的處理時,也會放一份在 Redis 處理。

性能極高 – Redis 能讀的速度是110000/s,寫的速度是81000/s

安裝 Redis 2017-06-28 Wed

[Mac OS 安裝 Redis]

下載安裝包 redis-3.0.7.tar.gz

解壓
tar -zvxf redis-3.0.7.tar.gz  將解壓後的文件夾放到 /usr/local目錄下

編譯測試接下來在終端中切換到 /usr/local/redis 目錄下輸入:
sudo make test


編譯安裝:在終端中輸入命令:
sudo make install


啓動 Redis,輸入命令
$ redis-server /usr/local/etc/redis.conf &

成功啟動!

除了透過官方網站的安裝包來安裝以外,也可利用 Mac OS 套件管理工具 Homebrew 來安裝 Redis。

樹莓派 安裝 Redis    2017-11-09 週四

安裝前先更新樹莓派
sudo apt-get update
sudo apt-get upgrade

下載安裝包

解壓縮
tar -zxf redis-4.0.1.tar.gz

編譯及安裝
cd /home/pi/Downloads/redis-4.0.1
sudo make
sudo make install

啟動(下述指令為前台啟動模式,帳號退出登陸則程式自動結束)
cp redis.conf /etc/redis.conf
sudo redis-server /etc/redis.conf


正式使用需要改為後台模式,按以下方法
sudo nano /etc/redis.conf
修改配置文件內容

daemonize yes

Redis 默認用的是本地連接,不支持遠程連接,把#bind 127.0.0.1 這一行注釋掉,是為了讓所有ip都可以用來訪問,當然可以用來遠程連接,但是對於redis3.2版本以上的還需要修改一個命令才能支持遠程調用。

bind 127.0.0.1 ::1
protected-mode no
bind x.x.x.x 真實IP

保存退出
再次重啟服務
sudo redis-server /etc/redis.conf

修改密碼,不需修改配置文件
redis-cli
config set requiress 密碼

檢查是否端口為 6379 進程
netstat -nlp

查詢 redis pid
ps -ef | grep redis

客戶端連接測試
redis-cli —> default 127.0.0.1
redis-cli -h x.x.x.x


MAC 下安裝配置 redis    7 November 2016

透過 brew 安裝
brew install redis

查看系統服務啟動狀態
Kevin           63649   0.0  0.0  2453736   1896 s000  S     3:10PM   0:00.02 /usr/local/bin/redis-server *:6379

查看 redis 是否有啟動
ps -ef | grep redis

修改 redis.conf;相關參數請參考 http://shift-alt-ctrl.iteye.com/blog/1882850
sudo nano /etc/redis.conf
bind 127.0.0.1 ::1
protected-mode no
bind x.x.x.x 真實IP

# 指定socket連接空閒時間().如果connection空閒超時,將會關閉連接(TCP socket選項)
##如果為0,表示永不超時.
timeout 0


啟動 redis 服務
/usr/local/bin/redis-server /etc/redis.conf &


Message Publish and Subscribe    2016年5月16日

redis-cli
PUBLISH redisChat "Redis is a great caching technique"

在 server farm 若某一台 server 收到 sensor value changed 的訊息,將會把訊息 publish 到 Redis 中,其他 servers 則會被動收到此訊息,再轉派送給需要的人來處理。[朱郭]學習了,謝謝!


主從架構





7 November 2016 安裝集成 for Ashton-IoT

在 3 台主機分別安裝 Redis Master + Slave 交互做 replication:

mkdir /opt/redis
cd /opt/redis
yum -y install gcc make
curl http://download.redis.io/releases/redis-3.0.6.tar.gz | tar zxv
cd redis-3.0.6 ; make ; make install
cd /opt/redis

mkdir master slave
vi master/redis.conf
    port 6379
     cluster-enabled yes
     cluster-config-file nodes.conf 
     cluster-node-timeout 5000
     appendonly yes

vi slave/redis.conf
    port 6479
     cluster-enabled yes
     cluster-config-file nodes.conf
     cluster-node-timeout 5000
     appendonly yes

vi master/run.sh
     #!/bin/bash
     /usr/local/bin/redis-server redis.conf > redis.out 2>&1 &
     chmod a+x master/run.sh
     (cd master ; ./run.sh)

vi slave/run.sh
     #!/bin/bash
     /usr/local/bin/redis-server redis.conf > redis.out 2>&1 &
     chmod a+x slave/run.sh
     (cd slave ; ./run.sh)

yum -y install rubygems
gem install redis

iptables -I INPUT -s 192.168.1.0/24 -j ACCEPT
service iptables save

cd /opt/redis/redis-3.0.6/src
./redis-trib.rb create --replicas 1 192.168.1.208:6379 192.168.1.209:6379 192.168.1.210:6379 192.168.1.208:6479 192.168.1.209:6479 192.168.1.210:6479

/usr/local/bin/redis-cli -c
    set foo 'abcd'
    get foo


7 November 2016 資源






Redis for Mac Client-Desktop Manager


GitHub 最新版本 

    brew cask 安装方法
    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null ; brew install caskroom/cask/brew-cask 2> /dev/null

    Redis Desktop Manager 安装方法
    brew cask install rdm


    留言

    這個網誌中的熱門文章

    IoT|硬體|樹莓派|外接麥克風及喇叭設置

    成長|語文|學習-英文 持續更新!

    IoT|硬體|通訊|Arduino 使用 SoftwareSerial Library 與電腦通訊