redis的五大資料型別和相關語法的使用
string(字串)
string是redis最基本的型別,你可以理解成Memcached一模一樣的型別,一個key對應一個value
string型別是二進位制安全的,意思是redis的string可以包含任何資料,比如jpg圖片或者序列化物件。
string型別是reids 最基本的資料雷兄,一個redis中字串value最多可以是512m
hash(雜湊,類似java中的map)
hash(雜湊)
Redis hash是一個鍵值對集合
Redis hash是一個string型別的field和value的對映表,hash特別適合用於儲存物件
類似java中的Map<String,Object>
list(列表)
Redis列表可以是簡單的字串列表,按照插入的順序排序,你可以新增一個元素導致列表的頭部(左邊)或者尾部(右邊)
它的底層實際上是一個連結串列
set(集合)
Redis的Set是string型別的無序列表,它是通過HashTable實現的
zset(sorted set:有序集合)
Redis zset和set一樣也是string型別元素的集合,且不允許重複的成員
不同的是,每個元素都會關聯一個double型別的分數,redis正是通過分數來為集合中的成員進行從小到大排序,zset成員是唯一的,但是分數(score)卻是可以重複的。
常用的語法
1、Redis 鍵(key)
- keys * :列出所有的key
- exists key的名字:判斷某個key是否存在
- move key db :把key從當前庫移動到指定的db
- expire key 秒鐘:為給定的key設定過期的時間
- ttl key:檢視當前key還有多少秒過期,-1表示永不過期,-2表示已經過期
- type key :檢視這個key是什麼型別的資料
2、Redis字串(String)
- set/get/del/append/strlen:存放/獲取/追加/獲取長度
- Incr/decr/incrby/decrby:加一/減一/增加指定數值/減少指定長度
- getrange/setrange:getrange key a b 獲取指定範圍內的值。類似於between…and的關係,如果是0 -1 表示獲取全部
setrange從指定位置開始,替換成制定的值,格式是:setrange key 具體值
- setex(set with expire)鍵秒值/setnx(set if not exitst)
setex:設定帶過期的key,動態設定,setex 鍵 秒值 真實值
setnx:只有在key不存在的時候設定key的值
- mset/mget/msetnx:同時設定一個或多個key-value對,mget獲取所有(一個或多個)給定的key的值,msetnx同時設定一個或多個key-value對,當且僅當所有給定的key都不存在(如果有一個存在,就設定不成功)
- getset(先get再set):給給定的key值設定為value,並返回key的舊值。簡單一句話,先get然後立即set
3、reids列表(List)
- lpush/rpush/lrange:從左邊放入/從右邊放入/從左邊讀取指定範圍的值
- lpop/rpop 從左邊彈出/從右邊彈出
-lindex:按照索引下標獲取元素(從上到下)
- llen:獲取長度
- lrem key 刪除N個value,從left往right刪除2個值等於v1的元素,返回值為實際刪除的數量
lrem list01 0表示刪除全部給定的值。
- ltrim key 開始index 結束index 擷取指定範圍的值,然後賦給key
- rpoplpush 源列表 目的列表 移除列表最後一個元素,並將該元素新增到另一個列表並返回
- lset key index value:設定list指定位置上的value
- linsert key before/after 值1 值2 在list某個已有值的前後再新增具體值、
redis集合(set)
- sadd/smembers/sismember
- scard,獲取集合裡面的元素個數
- srem key value 刪除集合中元素
- srandmember key 某個整數(隨機出幾個數) :從set中隨即取出幾個,如果超過最大數就全部取出,如果是負數,就表示隨即出幾個,但是包含重複的值
- spop key 隨機出棧
- smove key1 key2 在key1裡某個值 作用是將key1裡的某個值賦給key2
- 數學集合類
- 差集:sdiff :在第一個set裡面而不在後面任何一個set裡面的項
- 交集:sinter :兩個set中的項的集合
- 並集:sunion: 同時出現在兩個set中的項
redis雜湊(Hash)
- hset/hget/hmset/hmget/hgetall/hdel
- hlen
- hexists key 在key裡面的某個值的key
- hkeys/hvals
- hincrby/hincrbyfloat
- hsetnx
redis有序集合Zset
在set基礎上,加一個score值
set是 k1 v1 k2 v2 k3 v3
Zset是 k1 score1 v1 k2 score2 v2
- zadd/zrange(withscores)
- zrangebyscore key 開始score 結束score
- withscores
- ( 不包含
- limit 作用是返回限制, limit 開始下標步 多少步
- zrem key 某score下對應的value值,作用是刪除元素
- zcard/zcount key score區間/zrank key values值,作用是獲得下標值/zscore key 對應值,獲得分數
- zcard :獲取集合中元素個數
- zcount :獲取分數區間內元素個數,zcount key 開始分數區間 結束分數區間
- zrank: 獲取value在zset中的下標位置
- zscore:按照值獲得對應的分數
- zrevrank key values值,作用是逆序獲得下標值:正序、逆序獲得下標索引值
- zrevrange
- zrevrangebyscore key 結束score 開始score:zrevrangebyscore zset1 90 60 withscores 分數是反著來的
相關文章
- Redis 五種資料型別和相關操作命令Redis資料型別
- Redis的五大資料型別實現原理Redis大資料資料型別
- Redis(三)--- Redis的五大資料型別的底層實現Redis大資料資料型別
- 細談Redis五大資料型別Redis大資料資料型別
- Redis 五大資料型別之 String(字串)Redis大資料資料型別字串
- Redis五大資料型別之 List(列表)Redis大資料資料型別
- Redis五大資料型別之 Set(集合)Redis大資料資料型別
- Redis 的 5 種資料型別的基本使用Redis資料型別
- Redis五大資料型別之 Hash(雜湊)Redis大資料資料型別
- Redis五大資料型別之 Zset(有序集合)Redis大資料資料型別
- MOGDB/openGauss的txid_snapshot 資料型別和相關函式資料型別函式
- Kotlin的基本語法和型別Kotlin型別
- Redis的介紹安裝以及啟動與使用還有五大資料型別Redis大資料資料型別
- Python資料型別相關知識Python資料型別
- 強型別語言變數和資料型別的理解變數資料型別
- nosql-redis-網路資料學習-09-redis五大資料型別SQLRedis大資料資料型別
- Redis筆記(4)redis五大資料型別1----string(字串)Redis筆記大資料資料型別字串
- 關係型資料庫和非關係型資料庫的區別資料庫
- redis 五種資料型別和使用場景梳理!Redis資料型別
- Redis的資料型別——探究竟Redis資料型別
- 2、Redis的資料型別-stringRedis資料型別
- 【Redis】Redis的資料型別速查(5種基礎型別,5特殊型別)Redis資料型別
- 【重溫基礎】1.語法和資料型別資料型別
- js基本語法之 值型別(資料型別)(變數型別)JS資料型別變數
- Redis資料型別Redis資料型別
- PHP基本語法學習 [資料型別]PHP資料型別
- Java基礎語法之資料型別Java資料型別
- 初識Redis的資料型別HyperLogLogRedis資料型別
- Redis Stream型別的使用Redis型別
- 面試官:講講Redis的五大資料型別?如何使用?(內含完整測試原始碼)面試Redis大資料資料型別原始碼
- C語言中的資料型別C語言資料型別
- ORA-02303無法使用型別或表的相關性來刪除或取代一個型別型別
- ES6的相關語法
- [Redis] 淺談Redis內的幾種資料型別Redis資料型別
- Redis系列-資料型別及使用場景Redis資料型別
- Redis中 HyperLogLog資料型別使用總結Redis資料型別
- Redis 設計與實現 6:五大資料型別之字串Redis大資料資料型別字串
- Redis 設計與實現 9:五大資料型別之集合Redis大資料資料型別