redis是一個基於key-value存儲系統。和Memcached相似,它支持存儲的value類型相對更多,擁有豐富的數據結構,包括string(字符串)、list(鏈表)、set(集合)和zset(有序集合)、Hash(哈希類型的映射表)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操做,並且這些操做都是原子性的。html
Linux:java
下載鏈接:https://redis.io/downloadpython
解壓安裝:git
$ wget http://download.redis.io/releases/redis-5.0.4.tar.gz $ tar xzf redis-5.0.4.tar.gz $ cd redis-5.0.4 $ make
啓動github
$ cd src $ ./redis-server redis.conf (指定配置文件啓動)
window:redis
下載鏈接:https://github.com/MicrosoftArchive/redis/releaseswindows
解壓以後切換到安裝目錄運行 redis-server.exe redis.windows.conf緩存
推薦一個Redis的命令網站:https://redis.io/commands 數據結構
set key value | 設置執行key的值 |
get key | 獲取指定key的值 |
keys * | 返回key集合 |
getset key value | 將給定 key 的值設爲 value ,並返回 key 的舊值(old value) |
setnx key value | 只有在 key 不存在時設置 key 的值 |
setex key seconds value | 將值 value 關聯到 key ,並將 key 的過時時間設爲 seconds (以秒爲單位) |
incr key | 將 key 中儲存的數字值增一 |
incrby key increment | 將 key 所儲存的值加上給定的增量值(increment) |
decr key | 將 key 中儲存的數字值減一 |
decrby key decrement | key 所儲存的值減去給定的減量值(decrement) |
測試命令:分佈式
HSET key field value | 將filed-value(域值對)設置到哈希表key中 |
HGET key field | 獲取存儲在哈希表中指定字段的值 |
HGETALL key | 獲取在哈希表中指定 key 的全部字段和值 |
HKEYS key | 獲取全部哈希表中的字段 |
HSETNX key field value | 只有在字段 field 不存在時,設置哈希表字段的值 |
HVALS key | 獲取哈希表中全部值 |
測試命令:
LPUSH key value1 [value2] | 將一個或者多個值插入到列表頭部 |
LPUSHX key value | 將一個值插入到已存在的列表頭部 |
LPOP key | 移出並獲取列表的第一個元素 |
LSET key index value | 經過索引設置列表元素的值 |
LINDEX key index | 經過索引獲取列表的元素 |
LREM key count value | 移除列表元素 |
RPOP key | 移除列表的最後一個元素,返回值爲移除的元素 |
LRANGE key start stop | 獲取列表指定範圍內的元素 |
測試命令:
SADD key member1 [member2] | 向集合添加一個或多個成員 |
SCARD key | 獲取集的成員數 |
SDIFF key1 [key2] | 返回給定集合的差集 |
SINTER key1 [key2] | 返回給定集合的交集 |
SMEMBERS key | 返回集合中的全部成員 |
SISMEMBER key member | 判斷 member 元素是不是集合 key 的成員 |
SMOVE source destination member | 將 member 元素從 source 集合移動到 destination 集合 |
測試命令:
ZCARD key | 獲取有序集合的成員數 |
ZADD key score1 member1 [score2 member2] | 向有序集合添加一個或多個成員,或者更新已存在成員的分數 |
ZRANK key member | 返回有序集合中指定成員的索引 |
ZUNIONSTORE destination numkeys key [key ...] | 計算給定的一個或多個有序集的並集,並存儲在新的 key 中 |
ZREM key member [member ...] | 移除有序集合中的一個或多個成員 |
ZRANGE key start stop [WITHSCORES] | 經過索引區間返回有序集合指定區間內的成員 |
ZSCORE key member | 返回有序集中,成員的分數值 |
ZINCRBY key increment member | 有序集合中對指定成員的分數加上增量 increment |
測試命令:
至此,Redis從入門到高可用以及分佈式實戰(一)對Redis的入門介紹就到這裏,下一篇 Redis從入門到高可用以及分佈式實戰(二)會對Redis進一步介紹,包括實現Redis集羣模式(1主2從3哨兵模式)、Redis的主從配置、Sentonel哨兵機制等深刻分析,期待!