redis簡介
redis是一個高性能的key-value內(nèi)存數(shù)據(jù)庫。
- 高性能:讀的速度110000次/s行冰,寫的速度81000次/s
- 持久化:可將內(nèi)存數(shù)據(jù)保存到磁盤中,重啟后再次加載使用
- 原子性:單個操作原子性伶丐,多個操作支持事務(wù)
- 豐富的數(shù)據(jù)類型:key-value悼做,list,set哗魂,sorted-set肛走,hash
ubuntu下安裝
ubuntu下執(zhí)行以下命令安裝redis:
$sudo apt-get update
$sudo apt-get install redis-server
啟動redis服務(wù)器:
$ redis-server
啟動redis客戶端連接本地redis服務(wù)器:
$ redis-cli
以上命令將打開終端:
redis 127.0.0.1:6379>
redis的默認端口是6379
。如要連接遠程的redis服務(wù)器啡彬,執(zhí)行:
$ redis-cli -h host -p port -a password
redis數(shù)據(jù)類型
redis支持五種數(shù)據(jù)類型:string(字符串)羹与,hash(哈希),list(列表)庶灿,set(集合)纵搁,zset(有序集合)。
string(字符串)
最基本的數(shù)據(jù)類型往踢。一個key最大存儲512M腾誉。
127.0.0.1:6379> set name "penny"
OK
127.0.0.1:6379> get name
"penny"
hash(哈希)
hash是一個鍵值對集合,適合用于存儲對象。
127.0.0.1:6379> hmset penny name "penny" sex "female" age 25
OK
127.0.0.1:6379> hgetall penny
1) "name"
2) "penny"
3) "sex"
4) "female"
5) "age"
6) "25"
127.0.0.1:6379> hget penny age
"25"
list(列表)
字符串列表利职,按照插入順序排序趣效,可以插入元素到列表的頭部(左邊)和尾部(右邊)。
127.0.0.1:6379> lpush friends "bob"
(integer) 1
127.0.0.1:6379> lpush friends "alice"
(integer) 2
127.0.0.1:6379> rpush friends "lily"
(integer) 3
127.0.0.1:6379> lrange friends 0 5
1) "alice"
2) "bob"
3) "lily"
127.0.0.1:6379> lpop friends
"alice"
127.0.0.1:6379> llen friends
(integer) 2
127.0.0.1:6379> lrange friends 0 5
1) "bob"
2) "lily"
set(集合)
set是string的無序集合猪贪。成員不可重復跷敬。
127.0.0.1:6379> sadd pandas "huanhuan"
(integer) 1
127.0.0.1:6379> sadd pandas "tuantuan"
(integer) 1
127.0.0.1:6379> sadd pandas "yuanyuan"
(integer) 1
127.0.0.1:6379> smembers pandas
1) "yuanyuan"
2) "huanhuan"
3) "tuantuan"
127.0.0.1:6379> sismember pandas "tuantuan"
(integer) 1
127.0.0.1:6379> sismember pandas "haha"
(integer) 0
zset(有序集合)
zset(sorted-set)也是string類型的元素集合,成員不可重復热押。
zset每個元素關(guān)聯(lián)一個double類型的分數(shù)西傀,通過分數(shù)從小到大排序,分數(shù)可以重復桶癣。
127.0.0.1:6379> zadd family 25 panhui
(integer) 1
127.0.0.1:6379> zadd family 20 panyue
(integer) 1
127.0.0.1:6379> zadd family 18 panfeng
(integer) 1
127.0.0.1:6379> zrangebyscore family 0 5
(empty list or set)
127.0.0.1:6379> zrangebyscore family 0 30
1) "panfeng"
2) "panyue"
3) "panhui"
更多詳細操作見redis官方文檔拥褂。