Redis_常用5大數據類型簡介


  前面介紹了一些redis的的基本配置,以及安裝,本文繼續學習redis的五大數據類型。

一、Redis的五大數據類型

  String(字符串)List(列表)、Set(集合)、Hash(哈希,類似java里的map)、Zset(sorted set:有序集合)

二、那里去獲取Redis的常見數據類型操作命令

  Http://redisdoc.com/

三、Redis鍵(key)

  常用的key命令:

   keys *(查詢所以的key)

  exists key 判斷某個key是否存在(1表示存在,0表示不存在)

  move key db(將某個key移動到其他庫中)

  expire key 秒:為給定的key設置過期時間(返回1表示成功)

  ttl key 查看還有多少秒過期,-1表示永不過期,-2表示已經過期

  type key 查看key是什么類型

  注意:在set時,如果key存在,則后面的value值將會覆蓋之前的value值

四、Redis字符串(String)

  String是redis最基本的類型,你可以理解成與Memcached一樣的類型,一個key對應一個value。

  String類是是二進制安全的。意思是redis的String可以包含任何數據。比如jpg圖片或者序列化的對象。

  String類型是Redis最基本的數據類型,一個redis中value最多可以是512M

  set 設置值,get獲取值,del刪除值

  append(拼接String,返回value長度),strlen(獲取String長度)

  incr key +1,decr key -1,incrby key n +n, decrby key n -n(需要注意的是,只有數字才可以操作)

  如果不是數字,則會報錯。

  getrange:獲取指定區間范圍內的值,類似between...and的關系。(注意:從0到-1表示全部)

  setrange:設置指定區間范圍內的值,格式是settrange key值 具體值

  setex(set with wxpire)鍵秒值:設置key/value時設置存活時間

  setnx(set id not exist)設置key 如果key存在則插入數據失敗 返回0

  mset(批量插入數據)/mget(批量獲取數據)/msetnx(批量使用setnx插入數據)

 

 

五、Redis列表(List)

  Redis列表是簡單的字符串列表,按照插入順序排序。你可以添加一個元素到列表的頭部或者尾部。它的底層是一個鏈表。

  lpush key v1 v2 v3(插入list返回長度)

  rpush key (在最后加入value的值) lpush key(在最前面加入value的值)

  lrange key n n (查詢list的值,0 到 -1為全部)

  lpop 從左刪除 rpop從右刪除

  lindex 按照索引獲取元素(從上到下)

  llen 查看list中元素個數

  lrem key n value 刪除n個value,如果value值不夠則刪除所有的這個value值返回刪除個數

  ltrim key 開始 index 結束index,截取知道范圍的值后賦值給key

 

  rpoplpush key1 key2 將key1的右側value到key2中

  lset key index value 給具體下標位置設置value,如果該下標不存在則報錯

  linsert key before/after 值1 值2(在值1之前/之后插入值2,如果有重復的值則會在第一個前后進行插入)

  總結:

    它是一個字符串鏈表,left,right都可以插入添加

    如果鍵不存在,創建新的鏈表,如果鍵已經存在則新增內容

    如果內容全部移除。對應的鍵也消失。

    鏈表的操作無論是在頭和尾效率都極高,但假如是對中間元素進行操作,效率就很慘淡。

六、Redis集合(Set)

  Redis的Set的histring類型的無序集合。他是通過HashTable實現的。

七、Redis哈希(Hash)

  Redis hash是一個鍵值對集合。

  Redis hash是一個string類型的field和value的映射表,hash特別適合用於存儲對象。

  類似Java里面Map<String, Object>

八、Redis有序集合Zset(sorted set)

  Redis zset和set一樣也是string類型元素的集合,而且不允許重復的成員。

  不同的是每個元素都會關聯一個double類型的分數。

  redis正是通過分數來為集合中的成員進行從小到大的排序。zset的成員是唯一的,但分數(score)卻可以重復。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM