安裝
使用 Docker 安裝 Redis 資料庫:
docker run --name my-redis -p 6379:6379 -d redis
就會在 Docker Server 開啟 6379 指向這個 Container。若要開啟永久儲存功能(Redis Persistence),要在指令後面加上 --appendonly yes 指令為:
docker run --name some-redis -p 6379:6379 -d redis redis-server --appendonly yes
連接器
連接器可以在 Command Line 介面安裝 redis-cli 或是在電腦安裝 Redis Desktop Manager。
Redis 的資料庫
Redis 預設有 15 個資料庫,若要增加,需要更改 redis.conf 設定,不在此紀錄。
欲切換不同的資料庫做資料存取,可使用指令:
SELECT [index]
[index] 是資料庫的次序,如果要選擇第 5 個 db ,就使用:SELECT 5
資料型別
Redis 資料型別有 5 種: Strings, Hashes, Lists, Sets, Sorted Sets。
String 只需要指定一個 Key-Value 即可,用法為:
SET [KEY] [VALUE]
舉例像是:SET name "TAIWAN"
(此 String 無法重複同一個 Key)Hashes 是可以在設置一個 Key 時,同時包含多個 Value,用法為:
HMSET [ORIGIN-KEY] [KEY1] [VALUE1] [KEY2] [VALUE2].....
舉例像是:HMSET Partners Asia Taiwan Europe French
Lists 是可以在設置一個 Key 時,底下的 Value 包含按照讀寫先後順序的可重複集合,而且可以控制從頭部新增或尾部新增,用法為:
lpush [KEY] [VALUE]
(List 在同一個 KEY 中可以有很多個 list 的 value),舉例像是://同一個 key 的 list-value
lpush test "good"
lpush test "good"
lpush test "good1"
lpush test "good2"
lpush test "good3"
//與上面不同 key 的 list-value
lpush cool "g"
lpush cool "g"
lpush cool "g1"
lpush cool "g2"
lpush cool "g3"
Sets 是無序且會複寫同一個 Key 的集合,用法為:
SET [KEY] [VALUE]
遇到相同的 Key 則會複寫,舉例像是:SET name "Eric"
SET name "Donald"
//name 的值會被第二個 Donald 複寫
SET cool "KFC"
//其他的集合值
Sorted Set 是一個在 Key 裡面的 Value 存在依照分數順序來排列的集合,相同的 Value 會複寫,Key 也是,且每個 Value 新增時都有一個相關分數來排序,用法為:
ZADD [KEY] [SCORE] [VALUE]
顯示時會從 0 開始為第一個序,因此舉例像是:ZADD favorite 100 candy
ZADD favorite 0 chocolate
ZADD favorite 5 apple
此排列就會變成:favorite:
- chocolate, 0
- apple, 5
- candy, 100
錯誤問題: ERR Client sent AUTH, but no password is set
請設置 Redis 密碼:
CONFIG SET requirepass "password"
然後登入:AUTH password
Reference:
https://yeasy.gitbooks.io/docker_practice/content/appendix/repo/redis.html
https://redis.io/topics/persistence
https://speakerdeck.com/mp911de/i-am-redis
https://redisdesktop.com
https://stackoverflow.com/questions/35621324/how-to-create-own-database-in-redis
https://www.tutorialspoint.com/redis/redis_data_types.htm
http://redisdoc.com/hash/hmset.html
https://blog.csdn.net/j_mani/article/details/76459176
沒有留言:
張貼留言