redis是一個key-value存儲系統。它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。
支持的語言:
- Common Lisp
目錄
- Dart
- Erlang
- Go
- Haskell
|
- Haxe
- Io
- Java
- Node.js
- Lua
- Objective-C
- Perl
- PHP
- Pure Data
- Python
- R
- Ruby
- Scala
- Smalltalk
- Tcl
下載解壓和安裝redis;
在你安裝的目錄下有以下文件:
其中src下有:
兩個文件 一個是客戶端 另一個 服務端
先啓動服務端: ./redis-server(不能退出,另啓一個窗口啓動客戶端redis-cli)
再啓動客戶端: ./redis-cli
-------------------------------------------------------------------------------------------------------------------------------------------
將字符串值 value
關聯到 key
。
如果 key
已經持有其他值, SET
就覆寫舊值, 無視類型。
當 SET
命令對一個帶有生存時間(TTL)的鍵進行設置之後, 該鍵原有的 TTL 將被清除。
從 Redis 2.6.12 版本開始, SET
命令的行爲可以通過一系列參數來修改:
EX seconds
: 將鍵的過期時間設置爲seconds
秒。 執行SET key value EX seconds
的效果等同於執行SETEX key seconds value
。PX milliseconds
: 將鍵的過期時間設置爲milliseconds
毫秒。 執行SET key value PX milliseconds
的效果等同於執行PSETEX key milliseconds value
。NX
: 只在鍵不存在時, 纔對鍵進行設置操作。 執行SET key value NX
的效果等同於執行SETNX key value
。XX
: 只在鍵已經存在時, 纔對鍵進行設置操作- 因爲
SET
命令可以通過參數來實現SETNX
、SETEX
以及PSETEX
命令的效果, 所以 Redis 將來的版本可能會移除並廢棄SETNX
、SETEX
和PSETEX
這三個命令。 -
在 Redis 2.6.12 版本以前,
SET
命令總是返回OK
。從 Redis 2.6.12 版本開始,
SET
命令只在設置操作成功完成時才返回OK
; 如果命令使用了NX
或者XX
選項, 但是因爲條件沒達到而造成設置操作未執行, 那麼命令將返回空批量回復(NULL Bulk Reply)。 -
例如:
目錄
對哈希表操作:
HSET:
將哈希表 hash
中域 field
的值設置爲 value
。
如果給定的哈希表並不存在, 那麼一個新的哈希表將被創建並執行 HSET
操作。
如果域 field
已經存在於哈希表中, 那麼它的舊值將被新值 value
覆蓋。
返回值
當 HSET
命令在哈希表中新創建 field
域併成功爲它設置值時, 命令返回 1
; 如果域 field
已經存在於哈希表, 並且 HSET
命令成功使用新值覆蓋了它的舊值, 那麼命令返回 0
。
例如:
還有其他一些我就不再舉列說明了: