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