Redis五種常用數據結構|Redis命令行操作|Key操作|string操作|list操作|hash操作|set操作|zset操作

總體結構

Redis中的數據,總體上是鍵值對,不同數據類型指的是鍵值對中值的類型。

在這裏插入圖片描述

string類型

Redis中最基本的類型,它是key對應的一個單一值。二進制安全,不必擔心由於編碼等問題導致二進制數據變化。所以redis的string可以包含任何數據,比如jpg圖片或者序列化的對象(基本不會這麼幹)。Redis中一個字符串值的最大容量是512M。

list類型

Redis 列表是簡單的字符串列表,按照插入順序排序。你可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)。說明它的底層是基於鏈表實現的,所以它操作時頭尾效率高,中間效率低。

在這裏插入圖片描述

set類型

Redis的set是string類型的無序集合。它是基於哈希表實現的。

hash類型

本身就是一個鍵值對集合。可以當做Java中的Map<String,String>對待。
在這裏插入圖片描述

zset類型

Redis zset 和 set 一樣也是string類型元素的集合,且不允許重複的成員。不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來爲集合中的成員進行從小到大的排序。zset的成員是唯一的,但分數(score)卻可以重複。

基本操作

http://redisdoc.com/

Redis默認有16個數據庫。
115 # Set the number of databases. The default database is DB 0, you can select
116 # a different one on a per-connection basis using SELECT where
117 # dbid is a number between 0 and ‘databases’-1
118 databases 16
使用select進行切換,數據庫索引從0開始

## 數據庫切換
select index

## 查看數據庫長度
dbsize

在這裏插入圖片描述

Key簡單操作

●KEYS PATTERN
●TYPE KEY
    返回KEY對應的值的類型
●MOVE KEY DB
    把一組鍵值對數據移動到另一個數據庫中
●DEL KEY [KEY ...]
    根據KEY進行刪除,至少要指定一個KEY
●EXISTS KEY
    檢查指定的KEY是否存在。指定一個KEY時,存在返回1,不存在返回0。可以指定多個,返回存在的KEY的數量。
●RANDOMKEY
    在現有的KEY中隨機返回一個
●RENAME KEY NEWKEY
    重命名一個KEY,NEWKEY不管是否是已經存在的都會執行,如果NEWKEY已經存在則會被覆蓋。
●RENAMENX KEY NEWKEY
    只有在NEWKEY不存在時能夠執行成功,否則失敗
●TTL KEY
    以秒爲單位查看KEY還能存在多長時間
●EXPIRE KEY SECONDS
    給一個KEY設置在SECONDS秒後過期,過期會被Redis移除。
●PERSIST KEY
    移除過期時間,變成永久key

在這裏插入圖片描述

String簡單操作

●SET KEY VALUE [EX SECONDS] [PX MILLISECONDS] [NX|XX]
    給KEY設置一個string類型的值。
    EX參數用於設置存活的秒數。
    PX參數用於設置存活的毫秒數。
    NX參數表示當前命令中指定的KEY不存在才行。
    XX參數表示當前命令中指定的KEY存在才行。
●GET KEY
    根據key得到值,只能用於string類型。
●APPEND KEY VALUE
    把指定的value追加到KEY對應的原來的值後面,返回值是追加後字符串長度
●STRLEN KEY
    直接返回字符串長度
●INCR KEY
    自增1
●DECR KEY
    自減1
●INCRBY KEY INCREMENT
    原值+INCREMENT
●DECRBY KEY DECREMENT
    原值-DECREMENT
●GETRANGE KEY START END
    從字符串中取指定的一段
●SETRANGE KEY OFFSET VALUE
    從offset開始使用VALUE進行替換
●SETEX KEY SECONDS VALUE
    設置KEY,VALUE時指定存在秒數
●SETNX KEY VALUE
    新建字符串類型的鍵值對
●MSET KEY VALUE [KEY VALUE ...]
    一次性設置一組多個鍵值對
●MGET KEY [KEY ...]
    一次性指定多個KEY,返回它們對應的值,沒有值的KEY返回值是(nil)
●MSETNX KEY VALUE [KEY VALUE ...]
    一次性新建多個值
●GETSET KEY VALUE
    設置新值,同時能夠將舊值返回

list簡單操作

●LPUSH key value [value ...]
●RPUSH key value [value ...]
●LRANGE key start stop
    根據list集合的索引打印元素數據
    正着數:0,1,2,3,...
    倒着數:-1,-2,-3,...
●LLEN key
●LPOP key
    從左邊彈出一個元素。
    彈出=返回+刪除。
●RPOP key
    從右邊彈出一個元素。
●RPOPLPUSH source destination
    從source中RPOP一個元素,LPUSH到destination中
●LINDEX key index
    根據索引從集合中取值
●LINSERT key BEFORE|AFTER pivot value
    在pivot指定的值前面或後面插入value
●LPUSHX key value
    只能針對存在的list執行LPUSH
●LREM key count value
    根據count指定的數量從key對應的list中刪除value
●LSET key index value
    把指定索引位置的元素替換爲另一個值
●LTRIM key start stop
    僅保留指定區間的數據,兩邊的數據被刪除

set簡單操作

●SADD key member [member ...]
●SMEMBERS key
●SCARD key
    返回集合中元素的數量
●SISMEMBER key member
    檢查當前指定member是否是集合中的元素
●SREM key member [member ...]
    從集合中刪除元素
●SINTER key [key ...]
    將指定的集合進行“交集”操作
    集合A:a,b,c
    集合B:b,c,d
    交集:b,c
●SINTERSTORE destination key [key ...]
    取交集後存入destination
●SDIFF key [key ...]
    將指定的集合執行“差集”操作
    集合A:a,b,c
    集合B:b,c,d
    A對B執行diff:a
    相當於:A-交集部分
●SDIFFSTORE destination key [key ...]
●SUNION key [key ...]
    將指定的集合執行“並集”操作
    集合A:a,b,c
    集合B:b,c,d
    並集:a,b,c,d
●SUNIONSTORE destination key [key ...]
●SMOVE source destination member
    把member從source移動到destination
●SPOP key [count]
    從集合中隨機彈出count個數量的元素,count不指定就彈出1個
●SRANDMEMBER key [count]
    從集合中隨機返回count個數量的元素,count不指定就返回1個
●SSCAN key cursor [MATCH pattern] [COUNT count]
    基於遊標的遍歷

Hash簡單操作

●HSET key field value
●HGETALL key
●HGET key field
●HLEN key
●HKEYS key
●HVALS key
●HEXISTS key field
●HDEL key field [field ...]
●HINCRBY key field increment
●HMGET key field [field ...]
●HMSET key field value [field value ...]
●HSETNX key field value

zset操作

●ZADD key [NX|XX] [CH] [INCR] score member [score member ...]
●ZRANGE key start stop [WITHSCORES]
●ZCARD key
●ZSCORE key member
●ZINCRBY key increment member
●ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
    在分數的指定區間內返回數據
●ZRANK key member
    先對分數進行升序排序,返回member的排名
●ZREM key member [member ...]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章