redis是乙個先進的key-value鍵值儲存資料庫,通常作為資料結構伺服器。
支援strings, hashes, lists, sets, sorted sets, bitmaps 和hyperloglogs
redis的字串為sds(****** dynamic string)可以儲存任何東西,最大長度可達515兆。
sds的資料結構如下:#redis-cli.exe
127.0
.0.1:6379> set name 'cbb'
ok127.0
.0.1:6379> get name
"cbb"
struct sdshdr ;
常用命令:set, getredis的雜湊值是字串欄位和字串值之間的對映,所有它們被用來表示物件。
上面的hash資料型別,用於儲存使用者的基本資訊,user:1是鍵。#redis-cli.exe
127.0.0.1:6379> hmset
user:1
username
cccpassword
123age
20ok
127.0.0.1:6379> hgetall
user:1 //取所有key
1>
"username"
2>
"ccc"
3>
"passwrod"
4>
"123"
5>
"age"
6>
"20"
127.0.0.1:6379> hget
user:1
username //取乙個key
"ccc"
常用命令:hmset, hset, hget, hgetall
列表是簡單的字串列表,排序插入順序。可以新增元素到redis列表的頭部或尾部。
節點的定義:#redis-cli.exe
127.0.0.1:6379> lpush
tutor
redis
1127.0.0.1:6379> lpush
tutor
mongodb
2127.0.0.1:6379> lpush
tutor
rabitmq
3127.0.0.1:6379> lrange
tutor010
1>
"rabitmq"
2>
"mongodb"
3>
"redis"
typedef struct listnode listnode;
list的定義
補充:typedef
struct
list list;
常用命令:lpush, rpush, lpop, rpop, lrange等
set是字串的無序集合。在redis中可以新增、刪除和測試值是否存在。
常用命令:sadd, srem, spop, sdiff, smembers, sunion等與set類似,字串不重複,但其是有序的#redis-cli.exe
127.0.0.1:6379> sadd
total
123 1
127.0.0.1:6379> sadd
total
234 1
127.0.0.1:6379> sadd
total
345 1
127.0.0.1:6379> smembers
total
1>
"123"
2>
"234"
3>
"345"
常用命令:zadd, zrange,zrem,zcard等
發布(publish)和訂閱(subscribe)
~兩客戶端之間~
當乙個key值上進行了訊息發布後,所有訂閱它的客戶端都會收到相應的訊息。
這一功能最明顯的用法是作為實時訊息系統,比如普通的即時聊天,群聊等功能。
參考:
redis內部資料結構的資料結構
redis對外的公眾的資料結構有五種string,list,set,hash,zset 編碼常量 編碼所對應的底層資料結構 redis encoding int long 型別的整數 redis encoding embstr embstr 編碼的簡單動態字串 redis encoding raw ...
Redis的資料結構
一.redis有哪些資料型別?字串string 字典hash 列表list 集合set 有序集合sortedset hyperloglog redis在2.8.9加入的hyperloglog結構,是用來做基數統計的演算法,其優點是在輸入元素的數量或者體積非常大的時候,計算基數所需的空間總是固定的並且...
redis的資料結構
table of contents前言 準備工作 1.字串 string 操作命令 具體展示 2.字串列表 list 操作命令 具體展示 3.集合 set 鍵是唯一的,可用於共同關注,共同喜好,二度好友 操作命令 具體展示 4.有序集合 zset 操作命令 具體展示 5.雜湊 hash key va...