redis數(shù)據(jù)結(jié)構(gòu)服務(wù)器,因?yàn)橹担╲alue)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等類型。
redis優(yōu)勢
- 速度快
- 支持?jǐn)?shù)據(jù)類型多
- 原子操作,幾個操作合并后仍然是原子操作。
- 豐富的特性,支持publish、subscribe、通知、可以、過期等
Redis安裝
下載地址
將其中64文件夾中的內(nèi)容解壓到某目錄(F:redis),在該目錄運(yùn)行redis-server.exe redis.conf
啟動服務(wù)。
再開一個cmd窗口,切換到該目錄,運(yùn)行
redis-cli.exe -h 127.0.0.1 -p 6379
當(dāng)客戶端,存儲并讀取數(shù)據(jù)Redis 配置
Redis數(shù)據(jù)類型
Redis支持五種數(shù)據(jù)類型:string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)
string(字符串)
- string是二進(jìn)制安全的,string可以包含任何數(shù)據(jù),比如jpg圖片或者序列化的對象。
- 一個鍵最大512MB。
hash(哈希)
- hash是一個鍵值對集合。
- hash是一個string類型的field和value的映射表,hash特別適合用于存儲對象。
- 每個hash可以存放40多億鍵值對2的32-1次方個。
hmset
、hgetall
list(列表)
- 簡單的字符串列表,按照插入順序排序,可以添加元素到列表左邊或者右邊。
- 每個列表可以存儲40多億個元素。
lpush
/rpush
set(集合)
- set是string類型的無序集合。
- set是哈希表實(shí)現(xiàn)的,所以添加刪除查找的復(fù)雜度都是o(1)
-
sadd key setName
創(chuàng)建一個set -
sadd
添加一個string元素到一個set中,成功返回1,元素已經(jīng)存在返回0,set不存在報(bào)錯。 -
smembers setName
查看一個set中的所有元素
事實(shí)證明,set不存在的時候也不會報(bào)錯。
zset(sorted set:有序集合)
Redis zset 和 set 一樣也是string類型元素的集合,且不允許重復(fù)的成員。不同的是每個元素都會關(guān)聯(lián)一個double類型的分?jǐn)?shù)。redis正是通過分?jǐn)?shù)來為集合中的成員進(jìn)行從小到大的排序。
zset的成員是唯一的,但分?jǐn)?shù)(score)卻可以重復(fù)。
zadd 命令,添加元素到集合,元素在集合中存在則更新對應(yīng)score。
zadd key score member