Redis介紹
1.Redis是一個高性能的key-value數(shù)據(jù)庫
2.Redis是 NoSQL技術陣營中的一員,它通過多種鍵值數(shù)據(jù)類型來適應不同場景下的存儲需求,借助一些高層級的接口使用其可以勝任,如緩存、隊列系統(tǒng)的不同角色
Redis特性
1.Redis支持數(shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保存在磁盤中,重啟的時候可以再次加載進行使用。
2.Redis不僅僅支持簡單的key-value類型的數(shù)據(jù),同時還提供list,set,zset,hash等數(shù)據(jù)結構的存儲
3.Redis支持數(shù)據(jù)的備份,即master-slave模式的數(shù)據(jù)備份。
數(shù)據(jù)結構
1.redis是key-value的數(shù)據(jù)結構,每條數(shù)據(jù)都是一個鍵值對
2.鍵的類型是字符串
3.注意:鍵不能重復
4.值的類型分為五種:
? ??
字符串(string)
? ??
哈希(hash)
? ??
列表(list)
? ??
集合(set)
? ??
有序集合(zset)
String類型
字符串類型是Redis中最為基礎的數(shù)據(jù)存儲類型,它在Redis中是二進制安全的,這便意味著該類型可以接受任何格式的數(shù)據(jù),如JPEG圖像數(shù)據(jù)或Json對象描述信息等。在Redis中字符串類型的Value最多可以容納的數(shù)據(jù)長度是512M。
添加
如果設置的鍵不存在則為添加,如果設置的鍵已經(jīng)存在則修改
設置鍵值
set key value
例:設置鍵為name值為itcast的數(shù)據(jù)
set name itcast
設置鍵值及過期時間
setex key seconds value
例:設置鍵為aa值為aa過期時間為3秒的數(shù)據(jù)
setex aa 3 aa
設置多個鍵
mset key1 value1 key2 value2...
例:設置鍵為a1值為python、鍵為a2值為java
mset a1 python a2 java
追加值
append key value
例:向鍵為a1中追加值haha
append a1 haha
獲取
獲?。焊鶕?jù)鍵獲取值,如果不存在次鍵則返回nil
get key
例:獲取鍵name的值
get name
根據(jù)多個鍵獲取多個值
mget key1 key2 ...
例:獲取鍵a1、a2、a3的值
mget a1 a2 a3
刪除
del key1 key2...
例:刪除鍵a2、a3
del a2 a3
鍵命令
查看所有鍵
keys *
例:查看名稱中包含a的鍵
keys a*
判斷鍵是否存在,如果存在返回1,不存在返回0
exists key1
例:判斷鍵a1是否存在
exists a1
查看鍵對應的value的類型?
type key
例:查看a1的值類型,為redis支持的五種類型中的一種
type a1
設置過期時間,以秒為單位
如果沒有指定過期時間則一直存在,直到使用del移除
expire key seconds
例:設置鍵a1的過期時間為6秒
set a1 hhh
expire a1 6
查看有效時間,以秒為單位
ttl key
例:查看鍵a的有效時間
ttl a