1. 程式人生 > >Redis資料型別的常見操作

Redis資料型別的常見操作

 Redis資料型別

①String(字串) 
②Hash(雜湊,類似java裡的map)
    是一個String型別的field和value的對映表
③List(列表)
    Redis內實際是一個linkedlist 前後可以插入
④Set(集合)
   String型別的無序集合,它是通過hashtable實現的
⑤Zset(sorted set:有序集合)
   是String型別的元素集合,每個元素關聯一個double型別的分數,Zset成員是唯一的,但是分數可以重複


(1)  Redis鍵(key)
keys *
exists key 判斷某個key是否存在
move key db  移動當前庫到其他db , move key3 2
expire key 秒鐘  為key設定過期時間 expire k2 10
ttl key 檢視key還有多久過期 -1永不過期 -2表示已過期
type key 檢視你的key是什麼型別


(2)Redis 字串(String)單值單value
set/get/del/append/strlen  append追加 strlen長度
incr/decr/incrby/decrby 一定要是數字才能進行加減  (incr/decr 增減1)(incrby/decrby 增減多個 incrby k2  2)
getrange/setrange  
getrange 獲取指定區間範圍內的值,類似between and (從 0 到 -1 表示全部 ) set key5 abcde       getrange key5 0 2 ——》abc
setrange 設定指定區間範圍內的值  格式是 setrange key5  4
setex(set with expire) setex k4 10 v4  設定key4的值是v4 過期時間10秒
setnx(set if not exist)  setnx k1 v11  如果key1不存在 設值
mset/mget/msetnx(設定多個值) 
mset k1 v1 k2 v2 k3 v3  
mget k1 k2 k3
msetnx 多個如果不存在 msetnx k3 v3 k4 v4 都不成功


(3)Redis列表(List)單值多value (rpush順序正常)
lpush/rpush/lrange 
lpush list1 1 2 3 4 5 從左插入 lrange 0 -1 得到 5 4 3 2 1
rpush list2 1 2 3 4 5 從右插入  得到 1 2 3 4 5


lpop/rpop 
lpop list1 得到 5  rpop list1  得到1 lrange list1 0 -1 得到 4 3 2


lindex 按照索引下標獲得元素 從上到下 lindex list 3 0
llen長度 llen list1 得到3
lrem key 刪N個value 
ltrim key 開始index 結束index  擷取得到的值後在賦值給當前key
rpoplpush list1 list2 右側出棧 左側進棧
lset key index value 對下標的值的內容進行賦值
linsert key before/after 值1  值2


總結
字串連結串列,左右都可以插入
如果鍵不存在 建立新的連結串列
如果已存在 新增內容
如果值全移除 鍵消失
連結串列頭尾操作效率極高,中間操作效率低


(4)Redis集合 set 單值多value
①sadd(向集合中新增元素,重複不計入) / smembers(列出集合中的所有元素)/ SISMEMBER key member(判斷 member 元素是否集合 key 的成員)
②scard 獲取集合裡面元素的個數
③srem key value 刪除集合中的元素
④srandmember key N (隨機出N個數)
⑤spop key [count] 隨機移除集合中的元素
⑥smove key1 key2 在key1裡某個值 作用是將key1裡的某個值賦值給key2
⑦數學集合類 
sdiff 差集  sdiff set01 set02
sinter 交集
sunion 並集 


(5)Redis雜湊(hash)KV 模式模式不變 但V是一個鍵值對(pojo型別 )
*hset/hget/hmset(many)/hmget/hgetall/hdel  
hset user name z3 ---->hget user name (z3)
hlen
hexists key 在key裡面的某個值得key
*hkeys/hvals hkeys user (得到所有的key)
hincrby/hincrbyfloat
hsetnx(不存在 set)


(6)Redis集合Zset(sorted set)
在set基礎上,加一個score值,之前set是key1 v1 v2 v3 現在 zset是key1 score1 v1 score2 v2 (key是一個 value2個是一個整體即 score value)
①zadd/zrange (zadd zset1 10 v1 20 v2) 
        ZRANGE salary 0 -1 WITHSCORES             # 顯示整個有序整合員
ZRANGE salary 1 2 WITHSCORES              # 顯示有序集下標區間 1 至 2 的成員
②zrangebyscore key 開始score 結束score ( 不包含 
③zrem key NScore 刪除元素
④zcard/zcount key score 區間 
⑤zrank key values值 作用是取得下標值 
⑥zscore key value 獲得score
⑦zrevrank key values值 ,逆序獲得下標值
⑧zrevrange 開始分數到結束分數
⑨zrevrangebyscore by score

相關推薦

Redis資料型別基本操作

String型別:   設定鍵值對: set key value    設定鍵值對和過期時間:setex key seconds value ( 以秒為單位 )   設定多個鍵值對: mset key1 value1 key2 value2    給已有鍵的值追加: ap

Redis資料型別以及操作

第二章 Redis 資料型別及操作  2.1 前言 Redis 的作者 antirez(Salvatore Sanfilippo)曾經發表了一篇名為 Redis 宣言(Redis Manifesto) 的文章,文中列舉了 Redis 的七個原則,以向大家闡明

Redis資料型別及其操作

簡介 redis預設埠是6379,自定義埠使用:reids-server –port 6380 關閉redis。在關閉redis前考慮到可能正在將記憶體中的資料同步到磁碟,強行關閉redis有可能導致資料丟失,應使用SHUTDOWN 命令進行關閉:

Redis資料型別常見操作

 Redis資料型別①String(字串) ②Hash(雜湊,類似java裡的map)    是一個String型別的field和value的對映表③List(列表)    Redis內實際是一個linkedlist 前後可以插入④Set(集合)   String型別的無序集

Redis 常用的五種資料型別操作

第一部分:五種型別的基礎操作 (文章分為兩部分,基礎操作和詳細操作)   一、Redis 字串(String) Redis 字串資料型別的相關命令用於管理 redis 字串值,基本語法如下: 語法 redis 127.0.0.1:6379> COMMAND K

Redis五種資料型別簡單操作命令

目前正在學習Redis,總覺得好記性不如爛筆頭,所以還是把課上學到得簡單得東西做一個筆記,這樣子便於以後學習。 首先安裝Redis。 由於官網上沒有Windows系統的Redis軟體,但是微軟一直在做這個Windows的Redis。下載地址:https://github.com/MSOp

redis資料型別及基本操作

Redis支援五種資料型別:string(字串),hash(雜湊),list(列表),set(集合)及zset(sorted set:有序集合) 一、string型別及基本操作 string 是 redis 最基本的型別,最大上限是1G 位元組。你可以理解成與 Memcached 一模一樣的型別,一個 k

REDIS五種基本資料型別命令操作(1)

REDIS 五種基本資料型別命令操作 1. 字串(string) set key value #儲存一個鍵值對 get key #通過key來去對應的值 mset key1 v1 k2 v2 #一次儲存多

REDIS五種基本資料型別命令操作(2)

REDIS 五種基本資料型別命令操作 1.set集合 sadd key v1 [v2 v3] # 新增值到set集合中 smembers key # 迭代遍歷set集合 sismember key value # 判斷是否存在一個

Redis資料型別與常用操作詳解

一、redis 簡介 redis適合放一些頻繁使用,比較熱的資料,因為是放在記憶體中,讀寫速度都非常快,一般會應用在下面一些場景,排行榜、計數器、訊息佇列推送、好友關注、粉絲。 首先要知道mysql儲存在磁盤裡,redis儲存在記憶體裡,redis既可以用來做持久儲存,也可以做快取,而目前大多數公司的儲存

Redis 資料型別及常用操作指令

Redis 資料型別 redis支援五種資料型別:string(字串),hash(雜湊),list(列表),set(集合)及zset(sorted set:有序集合) **************************************************************

Redis資料型別及常用的操作命令——LIST操作

可以通過該網站檢視更多redis命令及資訊:http://redisdoc.com/ LPUSH key value [value …] 將一個或多個值 value 插入到列表 key 的表頭 如果有多個 value 值,那麼各個 value 值按從左到右的順序依次插入到表頭: 比如說,對空

Redis資料型別及常用的操作命令——String操作

可以通過該網站檢視更多redis命令及資訊:http://redisdoc.com/ set k v: 當set k1 v1後再次set k1 v2,則會覆蓋上一次的值; get key: 獲取key的value; del key: 刪除當前key; APPEND key value:

Redis資料型別及常用的操作命令——key操作

可以通過該網站檢視更多redis命令及資訊:http://redisdoc.com/ key: select:用於選擇redis的DB,redis的DB有0-16個數據庫。 keys /key::遍歷該資料庫中的所有的key,key代表具體的key。 EXISTS key:代表是否存在

Redis資料型別及常用的操作命令——資料型別

Redis總共有5大資料型別,分列如下: String(字串): string是redis最基本的型別,你可以理解成與Memcached一模一樣的型別,一個key對應一個value。 string型別是二進位制安全的。意思是redis的string可以包含任何資料。比如jpg圖片或者序列化的

Redis資料型別及常用的操作命令——hash操作

可以通過該網站檢視更多redis命令及資訊:http://redisdoc.com/ HSET key field value 將雜湊表 key 中的域 field 的值設為 value 。 如果 key 不存在,一個新的雜湊表被建立並進行 HSET 操作。 如果域 field 已經存在於雜

NoSQL之Redis對zset(有序集合)資料型別操作

一、簡介 Sorted set(zset)是set的升級版本,它在set的基礎上增加了一個順序屬性,這一屬性在新增修改元素的時候可以指定,每次指定後,zset會自動重新按新得值調整順序。可以理解為有兩列的mysql表,一列存value,一列存順序。操作中key理解為zset

Redis 基礎知識(5種資料型別基本操作

1、字串 set key1value1  //value1不僅可以是字串,也可以是整數或者浮點數。 get key1                     //獲取值 del key1              //刪除值 既然value1可以為數值型,因此可以對key1

Redis工具類對各種資料型別操作

import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.*; import org.springframework.stereotype.Service;

二:Redis入門步驟(五大資料型別常用操作

1. 開啟一個 cmd 視窗 使用cd命令切換目錄到 C:\redis 執行 redis-server.exe redis.windows.conf 2.啟動: $ redis-server 3.檢視是否啟動: $ redis-cli 4.測試速度 redis-b