windows 啓動臨時服務 ,切換到安裝目錄java
redis-server.exe redis.windows.confmysql
1.redis 啓動,在哪一個文件夾下啓動 dump.rdb就會保存到哪一個文件下 建議每次啓動都從一個文件夾redis
ctrl+c退出sql
2.精靈進程(守護進程)是爲其餘進程提供服務的,都是通知操做系統啓動的進程數據庫
啓動精靈進程windows
/user/local/redis-server redis.conf服務器
redis.confapp
requirepass 設置密碼ui
auth "密碼"spa
3.默認端口6379
字符串類型
value 數據是一個字符串,底層保存的都是二進制數據,能夠是 圖片,音頻,視頻,最大 512M
哈希類型
value 數據是一個哈希表,相似java的MAP 最大也是512M
鏈表類型
value 是一個單向的鏈表,能夠保存重複的數據
排序鏈表類型
是一個可排序的鏈表,使用字符串順序升序排列
不能保存重複數據,相似java中的SET
helo set 查看set命令的幫助
新增
set key value
經常使用習慣
mset user::name "張三" user::age 20 用::表明級別
getset a 4
append a "1212" 在key爲a的值後追加
成功返回OK
若是value中有空格 要用雙引號不然可不用 set name "zhang san"
查詢
get key 若是key中有空格,須要用雙引號
獲取不到將返回nil
刪除
del key
刪除多個 del key1 key2 key3
若是key中有空格 要用雙引號
批量新增
mset key value key value 必須成偶數 有key 有value
批量查詢
mget key key key
數字的自增
incr key 將key對應的value 自增1並返回,若是key 不存在 則保持value 爲1 並返回
數字的自減
decr key
decrby key num
查看key 命令
keys 關鍵字 支持通配符
keys n*
設置數據的有效時長 到期自動刪除
expire key seconds 秒
負數和0 馬上刪除
查看數據的有效時長
ttl key 返回有效時長,單位是秒
-1 數據永久保存
-2 數據不存在
刪除數據的有效時長
persist key
哈希數據訪問
新增
hset key field value
hset stu name "zhangsan"
hset stu age 20
查詢
hget key field
批量新增
hmset key field1 value1 field2 value2
批量查詢
hmget key field1 field2 field3
查看一個key 中的全部field
hkeys key
查看一個key 中全部value
hvals key 將key 對應的哈希數據中的全部value顯示
查看一個key 中全部的field-value對
hgetall key
不能爲某一個field-value 對設置有效期,有效期都是針對 key設置和操做的
刪除field-value對
hdel keys field1 field2
切換數據庫
在redis 的配置文件中,能夠定義數據庫數量,相似mysql 中的database
redis 中的數據庫沒有命名,只有編號,從0開始計數,redis 中的默認數據庫數量爲16
編號0---15
select num 切換數據庫到num 編號
清除數據庫
flushdb 清除當前使用的數據庫數據
flushall 清除全部數據庫
查看服務信息
info
jedis 客戶端
是redis 應用提供的java 訪問客戶端 第三方jar 操做redis
redis 持久化
RDB
在服務器端建立RDB的三種條件
1.服務器執行客戶端發送的SAVE命令 會阻塞 通常空閒時能夠
2.BGSAVE 不會阻塞
save 300 10 距離上次保存300秒後 超過10修改 就自動BGSAVE
save 1000 100
多個時 只有任意一個知足就執行
3.自動 在配置文件中定時 BGSAVE
AOF
append only file
自動重寫條件
auto-aof-rewrite-percentage 100 (100%當達到一倍時重寫,要不永遠卡到64mb)
auto-aof-rewrite-min-size 64mb 最小64mb時重寫
三種策略
Always :服務器每寫入一個命令 ,就把緩衝區裏的數據同步到硬盤上,不丟失數據,浪費CPU
Everysec: 每秒調用一次,最多丟1秒
No: 不去調用同步
默認Everysec