redis介紹
redis(remote dictionary server ),即遠端字典服務,是乙個開源的使用ansi c語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、key-value資料庫,並提供多種語言的api。
和其他的快取比如ecache比較
redis 搭建
通過原始碼編譯安裝
wget
tar xzf redis-5.0.0.tar.gz
cd redis-5.0.0
make
啟動命令# 服務端啟動
./bin/redis-server ./etc/redis.conf
# 客戶端啟動 -h 為位址預設為本機 ,-a為 auth 密碼
./bin/redis-cli -h 127.0.0.1 -p 6379 -a 123456
通過docker-compose 安裝由於redis 跨平台型,我們可以通過docker 進行快速搭建。docker-compose 是乙個docker的編排工具。在之後搭建redis 主從和哨兵的時候通過docker-compose 可以減少我們的工作量。
version
:'2'
services
:redis
:image
: redis:5.0.0
container_name
: redis
command
: redis-server -
-requirepass "123456"
ports:-
"6379:6379"
volumes
:- ./data:/data
redis 持久化redis 的鍵值對是儲存在記憶體中的,如果宕機之後所有的鍵值對都會丟失。所以需要配置落盤。rdb
rdb 會生成多個檔案,每乙個資料檔案都代表著,某乙個時刻redis 裡面的資料。aof因為直接操作記憶體,通過rdb 恢復資料通常會比aof 恢復快。
缺點是,如果中途宕機,可能會有幾分鐘的資料丟失。
aof 中存在的問題在於,由於只操作乙個檔案,可能導致這個檔案很大,所以redis 提供bgrewriteaof 指令重寫aof檔案。
生產環境 資料備份策略
參考shell 指令碼
crontab -e
0 * * * * * sh /etc/init.d/redisback.sh
redisback.sh
#!/bin/sh
cur_date =
'date +%y%m%d%k'
rm -rf /lujing/$cur_date
mkdir /lujing/$cur_date
cp /var/redis/6379/dump/rdb /lujing/$cur_date
del_date =
'date -d -48hour +%y%m%d%k'
rm -rf /lujing/$del_date
序列化注意事項
參考文獻
Redis原始碼學習 開始(0)
秋招結束了很長時間了,我如當時所想,找到了一家還不錯的it公司,拿到了offer,下半個學期就要去實習了。當然,並不意味著技術學習的停滯,反而恰恰是個新的起點,意味著以後要熟悉各種工具,各種框架等實際場合使用的東西。當然,閒暇之餘,對於我這樣的萌新來說,底層的內容還是要打好基礎,學無止境。當看到的東...
從0開始 二
slam是指當某種移動裝置 如機械人 無人機 手機等 從乙個未知環境裡的未知地點出發,在運動過程中通過感測器 如雷射雷達 攝像頭等 觀測定位自身位置 姿態 運動軌跡,再根據自身位置進行增量式的地圖構建,從而達到同時定位和地圖構建的目的。sfm structure from motion 是一種和sl...
redis學習 01 開始的開始
海量使用者 高併發 效能瓶頸 磁碟io效能低下 擴充套件瓶頸 資料關係複雜,擴充套件性差,不便於大規模集群 降低磁碟io次數,越低越好 記憶體儲存 去除資料間關係,越簡單越好 不儲存關係,僅儲存資料nosql 即 not only sql 泛指非關係型的資料庫 作為關係型資料庫的補充。作用 應對基於...