判斷redis服務(wù)的健康狀態(tài).
存儲(chǔ)key-value,把key計(jì)算為一個(gè)hash值,把它放在一個(gè)位置.
取得時(shí)候,先計(jì)算是哪個(gè)位置,直接去那個(gè)位置去取,
是直接存取這個(gè)值,而不是遍歷.
Redis之所以快,是因?yàn)樗袛?shù)據(jù)都是保存在內(nèi)存當(dāng)中的.
5種數(shù)據(jù)類型
key-value類型.
string
hash
list
set
sorted set
1.string類型
1.寫入鍵值對(duì)
set str1 abc
2.取得鍵值對(duì)
get str1
3.顯示所有的key
keys *
4.增加一個(gè)鍵
incr key1
5.刪除操作
del key4
6.加1的操作
7.減1的操作
Redis中所有的字段都是字符串,他們是先轉(zhuǎn)換成整型,在加減1的.
我們觀察下面的操作,就可以了.key2的鍵值是字符串,你給它加1,自然會(huì)出錯(cuò),
要是像下面這樣做就對(duì)了
2.hash類型
1.創(chuàng)建一個(gè)hash
hset hash1 field1 1
2.查詢一個(gè)hash的值
hget hash1 field1
3.刪除一個(gè)hash
hdel hash1 field1
4.查詢所有hash的field值
hkeys hash1
5.查詢所有的hash的value值
hvals hash1
6.查詢hash所有的key-value值
hgetall hash1
redis的數(shù)據(jù)類型
list的元素可以重復(fù),有序.
1.從左往右存儲(chǔ)數(shù)據(jù)
rpush a b c d e f
2.從右往左儲(chǔ)存數(shù)據(jù)
lpush 1 2 3 4 5 6
3.查看數(shù)據(jù)范圍
lrange list1 0 -1
4.取出元素
lpop list1
rpop list1
取出元素之后,就不能看到之前的全部了.
set類型
set 無序,且輸入的數(shù)據(jù)不能重復(fù)
1.添加元素
sadd set1 a b c d a b
2.刪除元素
srem set1 a
3.查看元素
smembers set1
4.seta與setb的比較
類似于左連接和右連接那種形式,剔除共有的部分
5.取交集
sinter seta setb
6.取并集
sunion seta setb
sorted set
元素是有序的,耗費(fèi)的性能會(huì)很高.
1.升序排列
zrange zset1 0 -1 withscores
2.降序排列
zrevrange zset1 0 -1
3.帶分?jǐn)?shù)倒序排序
設(shè)置key的過期時(shí)間
expire key1 20
1.看看過期時(shí)間和倒計(jì)時(shí)
2.永久保存和不存在的標(biāo)識(shí)
-1是永久保存的數(shù)據(jù)(持久化),-2是不存在的數(shù)據(jù)
redis的持久化
1.重新設(shè)置過期時(shí)間
2.持久化數(shù)據(jù)
persist key3
,-1就代表數(shù)據(jù)持久化了.
3.redis的持久化.
redis總的所有數(shù)據(jù)都是保存在內(nèi)存當(dāng)中的.
持久化方案有2種:
1.Rdb:快照形式.定期把內(nèi)存中當(dāng)前時(shí)刻的數(shù)據(jù)保存到磁盤.這是Redis默認(rèn)支持的持久化方案.
2.aof形式:把所有對(duì)redis數(shù)據(jù)庫(kù)操作的命令,增刪改操作的命令,保存到文件當(dāng)中,數(shù)據(jù)庫(kù)恢復(fù)時(shí)把所有的命令執(zhí)行一遍就可以了.
redis.conf的配置里面有描述.
1.第一種:
15分鐘之內(nèi)有1個(gè)key發(fā)生變化,他就保存一個(gè)快照文件.
5分鐘之內(nèi)有10個(gè)key發(fā)生變化,他就保存一個(gè)快照文件.
1分鐘之呢有1W個(gè)key發(fā)生變化,他就保存一個(gè)快照文件.
快照模式有丟失文件的可能性,但是我們一般就做緩存.沒多大影響.
2.第二種把增刪改操作用文件保存
默認(rèn)是不開啟的.對(duì)磁盤的IO比較頻繁.