redis數(shù)據(jù)結(jié)構(gòu)服務(wù)器,因?yàn)橹担╲alue)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等類型。
redis優(yōu)勢(shì)
- 速度快
- 支持?jǐn)?shù)據(jù)類型多
- 原子操作,幾個(gè)操作合并后仍然是原子操作。
- 豐富的特性,支持publish、subscribe、通知、可以、過期等
Redis安裝
下載地址
將其中64文件夾中的內(nèi)容解壓到某目錄(F:redis),在該目錄運(yùn)行redis-server.exe redis.conf啟動(dòng)服務(wù)。


再開一個(gè)cmd窗口,切換到該目錄,運(yùn)行
redis-cli.exe -h 127.0.0.1 -p 6379當(dāng)客戶端,存儲(chǔ)并讀取數(shù)據(jù)
Redis 配置
Redis數(shù)據(jù)類型
Redis支持五種數(shù)據(jù)類型:string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)
string(字符串)
- string是二進(jìn)制安全的,string可以包含任何數(shù)據(jù),比如jpg圖片或者序列化的對(duì)象。
- 一個(gè)鍵最大512MB。

hash(哈希)
- hash是一個(gè)鍵值對(duì)集合。
- hash是一個(gè)string類型的field和value的映射表,hash特別適合用于存儲(chǔ)對(duì)象。
- 每個(gè)hash可以存放40多億鍵值對(duì)2的32-1次方個(gè)。
hmset、hgetall

list(列表)
- 簡(jiǎn)單的字符串列表,按照插入順序排序,可以添加元素到列表左邊或者右邊。
- 每個(gè)列表可以存儲(chǔ)40多億個(gè)元素。
lpush/rpush

set(集合)
- set是string類型的無序集合。
- set是哈希表實(shí)現(xiàn)的,所以添加刪除查找的復(fù)雜度都是o(1)
-
sadd key setName創(chuàng)建一個(gè)set -
sadd添加一個(gè)string元素到一個(gè)set中,成功返回1,元素已經(jīng)存在返回0,set不存在報(bào)錯(cuò)。 -
smembers setName查看一個(gè)set中的所有元素

事實(shí)證明,set不存在的時(shí)候也不會(huì)報(bào)錯(cuò)。
zset(sorted set:有序集合)
Redis zset 和 set 一樣也是string類型元素的集合,且不允許重復(fù)的成員。不同的是每個(gè)元素都會(huì)關(guān)聯(lián)一個(gè)double類型的分?jǐn)?shù)。redis正是通過分?jǐn)?shù)來為集合中的成員進(jìn)行從小到大的排序。
zset的成員是唯一的,但分?jǐn)?shù)(score)卻可以重復(fù)。
zadd 命令,添加元素到集合,元素在集合中存在則更新對(duì)應(yīng)score。
zadd key score member
