標籤:
  Redis支援的各種資料類型包括string,list ,set ,sorted set 和hash .
  Redis本質上一個key-value db,所以我們首先來看看他的key。首先key也是字串類型,但是key中不能包括邊界字元。由於key不是binary safe的字串,所以像"my key"和"mykey\n"這樣包含空格和換行的key是不允許的。順便說一下在redis內部並不限制使用binary字元,這是redis協議限制的。"\r\n"在協議格式中會作為特殊字元。
  Redis 1.2以後的協議中部分命令已經開始使用新的協議格式了(比如MSET)。總之目前還是把包含邊界字元當成非法的key吧,免得被bug糾纏。另外關於key的一個格式約定介紹下,object-type:id:field。比如user:1000:password,blog:xxidxx:title,還有key的長度最好不要太長。道理很明顯占記憶體啊,而且尋找時候相對短key也更慢。不過也不推薦過短的key,比如u:1000:pwd,這樣的。顯然沒上面的user:1000:password可讀性好。
  get 和 set 命令:
  
  key相關的命令:
  exits key 測試指定key是否存在,返回1表示存在,0不存在
  
  del key1 key2 ....keyN 刪除給定key,返回刪除key的數目,0表示給定key都不存在
  
  type key 返回給定key的value類型。返回none 表示不存在key,string字元類型,list 鏈表類型set 無序集合類型...
   
  keys pattern 返回匹配指定模式的所有key
  
  randomkey 返回從當前資料庫中隨機播放的一個key,如果當前資料庫是空的,返回空串
  
  rename oldkey newkey 原子的重新命名一個key,如果newkey存在,將會被覆蓋。如果oldkey不存在或者和newkey相同則報錯,返回錯誤資訊
      
  renamenx oldkey newkey 同上,但是如果newkey存在返回失敗
  dbsize 返回當前資料庫的key數量
  
  expire key seconds 為key指定到期時間,單位是秒。返回1成功,0表示key已經設定過到期時間或者不存在
  ttl key 返回設定過到期時間的key的剩餘到期秒數-1表示key不存在或者沒有設定過到期時間
  
  select db-index 通過索引選擇資料庫,預設串連的資料庫所有是0,預設資料庫數是16個。返回1表示成功,0失敗
  
  move key db-index 將key從當前資料庫移動到指定資料庫。返回1成功。0 如果key不存在,或者已經在指定資料庫中
  
  flushdb 刪除當前資料庫中所有key,此方法不會失敗。慎用
  flushall 刪除所有資料庫中的所有key,此方法不會失敗。更加慎用
  
Redis學習筆記(二)-key相關命令