sds使用結構體實現,結構體中的len屬性直接記錄了該sds結構體中buf陣列中已使用的長度,因此獲取字串長度時,只需要獲取len屬性的值,這個操作的複雜度為o(1)。sds實現了空間預分配和惰性空間釋放兩種優化策略,減少了修改字串時記憶體分配的次數。
sds被修改時會自動動態擴充套件至修改值的長度大小,避免了記憶體溢位問題。
127.0.0.1:6379> exists key1
(integer) 0
(integer) 5
(integer) 11
127.0.0.1:6379> get key1
"hello world"
127.0.0.1:6379>
127.0.0.1:6379> bitcount bits
(integer) 0
127.0.0.1:6379> setbit bits 5 1
(integer) 0
127.0.0.1:6379> bitcount bits
(integer) 1
127.0.0.1:6379> setbit bits 4 1
(integer) 0
127.0.0.1:6379> bitcount bits
(integer) 2
127.0.0.1:6379>
127.0.0.1:6379> set key2 "11"
ok127.0.0.1:6379> decr key2
(integer) 10
127.0.0.1:6379> decr key3 //key3 不存在
(integer) -1
127.0.0.1:6379> get key3
"-1"
127.0.0.1:6379> set key4 "234293482390480948029348230948"
ok127.0.0.1:6379> decr key4
(error) err value is not an integer or out of range
127.0.0.1:6379> set key5 12
ok127.0.0.1:6379> decrby key5 5
(integer) 7
127.0.0.1:6379> 其餘同decr命令
//get key 返回key的value。如果key不存在,返回特殊值nil。如果key的value不是string,就返回錯誤,因為get只處理string型別的values。
//set key value [ex seconds] [px milliseconds] [nx|xx] 將鍵key設定為指定的「字串」值。 如果 key 已經儲存了乙個值,那麼這個操作會直接覆蓋原來的值,並且忽略原始型別。 當set命令執行成功之後,之前設定的過期時間都將失效
127.0.0.1:6379> get key6
(nil)
127.0.0.1:6379> set key6 test
ok127.0.0.1:6379> get key6
"test"
127.0.0.1:6379> setbit key7 6 1
(integer) 0
127.0.0.1:6379> getbit key7 6
(integer) 1
127.0.0.1:6379> getbit key7 100
(integer) 0
127.0.0.1:6379> incr key8
(integer) 1
127.0.0.1:6379> incr key8
(integer) 2
127.0.0.1:6379> get key8
"2"
127.0.0.1:6379> incrby key9 10
(integer) 10
127.0.0.1:6379> incrby key9 1
(integer) 11
127.0.0.1:6379> get key9
"11"
127.0.0.1:6379> setnx key10 "hello"
(integer) 1
127.0.0.1:6379> setnx key10 "world"
(integer) 0
127.0.0.1:6379> get key10
"hello"
redis基本命令
一,基本操作 1.select index index 0 idnex 17選擇資料庫 3.shutdown 停止資料庫 4.config get loglevel 得到當前日誌級別 5.flushall 清空所有資料庫的資料 6.keys 遍歷當前資料庫中所有的鍵 7.type key 獲取鍵的型...
redis基本命令
redis是乙個記憶體資料庫,通常可以作為快取使用,常用的命令有 redis server 啟動資料庫,預設埠為6379 redis cli 連線資料庫,預設ip是127.0.0.1,埠是6379 redis cli h 127.0.0.1 p 6380 a 密碼 連線資料庫,指定主機和埠號 sel...
redis 基本命令
1 del key 該命令用於在 key 存在時刪除 key。dump key 序列化給定 key 並返回被序列化的值。exists key 檢查給定 key 是否存在。expire key seconds 為給定 key 設定過期時間。expireat key timestamp expireat...