redis 之 redis幾種類型及使用


1. string redis 中的string用於存放長字符串信息。和java中string是一致的。

  向數據庫添加數據:

  • set key value 向數據庫添加數據
  • get key 獲取指定key的值
  • 使用set設值,如果key不存在,那么將會覆蓋之前的值
  • setnx(not exists) key value .如果key不存在,那么設值,返回1,如果key存在 返回0,不進行設值。
  • setex(expired)key time(s) value.設置key的value,並且在指定的time秒后失效,失效后返回nil(空)
  • incr(increase) key 如果key是integer,那么為其自增1
  • decr(decrease) key 如果key是integer,那么為其自減1
  • incrby key n 如果key是integer,為其加上n
  • decrby key n 如果key是integer,為其減去n
  • strlen key 返回key的字符串長度
  • getrange key start end 返回指定的下標字符串的值 范圍是[start,end]
  • mset k1 v1 k2 v2 k3 v3 通過mset一次性可以設置多個值
  • mget k1 k2 獲取多個值
  • append key value 為指定key追加value,如果key不存在,那么新增一個key,值為value.
  • del key刪除

2. hash redis hash 是一個string類型的field和value的映射表,hash特別適合 存儲對象

  • hset key field value 可以理解key為對象名 field為屬性 value為屬性值
  • hget key field 獲取指定key的field的值
  • hmset key field1 value1 field2 value2 為指定的key設置多個field及其值
  • hmget key field1 field2 獲取指定key的field1和field2的值
  • hkeys key 獲取指定key的所有的field
  • hvals key 獲取指定key的所有的field的值
  • hdel key field1 [field2] 刪除指定key的一個或多個field
  • hexists key field 檢查指定的key的field是否存在,如果存在返回1,如果不存在返回0
  • hgetall key 返回指定key的所有的field和field的value.
  • hlen key 返回指定key的field的個數
  • del key

 

3.list Redis 列表是簡單的字符串列表,按照插入順序排序。你可以添加一個元素列表的頭部(左部)或者尾部(右部)一個列表最多可以包含232-1個元素(4294967295, 每個列表超過40億個元素)。

  • lpush key value1 [value2] 向指定的key列表頭中添加一個或者多個value
  • lpop key 移除並且獲取指定key列表中的第一個元素
  • rpush key value1 [value2] 向指定的key列表的尾部添加一個或者多個value
  • rpop key 移除並且獲取指定key列表中的最后一個元素
  • lindex key index 獲取指定key列表的下標為index的元素。Index從0開始
  • linsert key before|after currentElement insertElement 在指定key列表中的currentElement(當前元素)的前或者后插入指定(insertElement)元素
  • llen key 返回指定key列表中的元素個數
  • lrange key start stop 返回指定key列表中的的[start,end]范圍中的元素
  • lset key index value 為指定key列表替換指定下標index的值為value
  • ltrim key start end  對一個列表進行修剪(trim),就是說,讓列表只保留指定區間內的元素,不在指定區間之內的元素都將被刪除。

4.set: Redis的Set是String類型的無序集合。集合成員是唯一的,這就意味着集合中不能出現重復數據。Redis中集合是通過哈希表實現的,所以添加,刪除,查找的復雜度都是0(1)。集合中最大的成員數為 232 - 1(4294967295,每個集合可存儲40多億個成員)

  • sadd key m1 m2 [m3] 為指定的key集合添加一個或者多個成員
  • smembers key 返回指定key集合的成員
  • scard key 返回指定key集合的元素個數
  • spop key 移除並返回指定key集合中的隨機一個元素
  • sdiff key1 key2 返回key1集合和key2集合的差集
  • sdiffstore key3 key1 key2 返回key1集合和key2集合的差集,並將差集存入key3
  • sinter key1 [key2] 返回所有集合的交集

  等。

5. sorted set(zset)

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

不同的是每個元素都會失聯一個double類型的分數,redis正是通過分數來為集合中的成員進行從小到大的排序。

有序集合的成員是唯一的,但分數(score)卻可以重復。

集合是通過哈希表實現的,所以添加,刪除,查找的復雜度都是O(1)。 集合中最大的成員數為 232 - 1 (4294967295, 每個集合可存儲40多億個成員)。

zadd key score1 member1 [score2 member2] 為指定的key有序集合添加分數及其該分數對應的元素。可以一次添加多個元素

  • zcard key 返回指定的有序集合key中元素個數
  • zcount key min max 返回指定有序集合key中 分數從min到max的元素個數
  • zincrby key increment member 為指定的有序集合key中的指定memeber元素的分數加上一個increment
  • zrank key member 返回指定key集合中member的下標 從0開始
  • zscore key member 返回指定key集合中member的分數
  • zrem key memeber1 [member2]移除指定key集合中的一個或者多個元素

 

 

 

 

 

 

  


免責聲明!

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



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