1、安裝Redisjava
python
第一步:下載下來,一路next就行,要注意的就是勾選添加path和勾選內存限制max memorylinux
第二步:啓動服務 redis-server D:/tools/redis/redis.windows.conf (本身文件安裝目錄)git
第三步:註冊服務到windows服務中 redis-server --server-install redis.windows.confgithub
第四步:啓動redis服務 redis-server --service-start正則表達式
第五步:關閉服務 redis-server --service-stopredis
注:數據庫
在一開始註冊服務的時候可能會報錯,多是在安裝時已經在windows服務中註冊好了,因此能夠檢查一下windows的服務,或者直接跳過,試試關閉或啓動服務windows
2、redis的核心配置選項安全
redis 安裝成功之後,window下的配置文件保存在軟件 安裝目錄下,若是是mac或者linux,則默認安裝/etc/redis/redis.conf
bind 127.0.0.1 // 綁定ip,若是須要遠程訪問,能夠將這個ip換成一個真實ip port 6379 //端口 daemonize yes // 是否以守護進程運行(主要是在linux和mac下須要配置),若是以守護進程運行,則不會在命令行阻塞,相似於windows的服務;r若是不以守護進程運行,則當前終端被阻塞 ;推薦設爲yes dbfilename dump.rdb //數據文件 logfile "c:/tool/redis/redis-server.log" //日誌文件 database 16 // 數據庫,默認有16個 slaveof //主從複製,相似於雙機備份
3、使用
一、redis客戶端鏈接服務器
redis-cli -h 'redis服務器ip' -p 'redis服務器port'
二、redis數據類型
# string類型:
字符串類型是 Redis 中最爲基礎的數據存儲類型,它在 Redis 中是二進制安全的,也就是byte類型,最大容量爲512M
若是設置的鍵不存在則爲添加,若是設置的鍵已經存在則修改 1、設置鍵值: set key value eg: set name xiaoming 2、設置多個鍵值: mset key1 value1 key2 value2... eg: mset a1 python a2 java a3 c 3、設置鍵值及保存數據有效期: setex key seconds value eg: setex name 3 xiaoming #設置name的值爲xiaoming,過時時間3秒 4、重設數據的有效期 expire key time 5、追加值 append key value eg: append a1 haha 6、根據鍵獲取值 get key eg: get name 7、獲取多個值 mget key1 key2 ... eg: mget a1 a2 a3
鍵操做 1、查找鍵,參數支持正則表達式 keys pattern eg: keys * # 查看全部鍵 keys a* #查看名稱中包含a的鍵 2、判斷鍵是否存在,若是存在返回1,不存在返回0 exists key1 eg: exists a1 #判斷鍵a1是否存在 3、查看鍵對應的value的類型 type key eg: type a1 4、刪除鍵及對應的值 del key key2 ... eg: del a2 a3 5、查看有效時間,以秒爲單位 ttl key eg: ttl bb #查看鍵bb的有效時間
# hash類型:
hash用於存儲對象,對象的結構爲屬性、值,值的類型爲string。
key:{
域:值,
域:值,
域:值,
域:值,
...
}
1、設置單個屬性 hset key field value eg: hset user name xiaoming #設置鍵user的屬性name爲xiaoming 2、設置多個屬性 hmset user key field1 value1 field2 value2 ... eg: hmset u2 name xiaohong age 11 #設置鍵u2的屬性name爲xiaohong,age爲11 3、獲取指定鍵全部的屬性 hkeys u2 4、獲取某個屬性的值 hget key field 5、獲取多個屬性的值 hmget key field1 field2 ... eg: hmget u2 name age #獲取鍵u2屬性name,age的值 6、獲取素有屬性的值 hvals key eg: hvalus u2 #獲取鍵u2全部屬性的值 7、刪除屬性,屬性對應的值會被一塊兒刪除 hdel key field1 field2 ... eg: hdel u2 age
# list類型:
列表的元素類型爲string。
key:[ 值1,值2,值3.....]
1、在左側插入數據 lpush key value1 value2 ... eg: lpush a1 a b c 2、在右側插入數據 roush key value1 value2 ... eg: rpush a1 0 1 3、在指定元素的前或後插入新元素 linsert key before/after 現有元素 新元素 eg: linsert a1 before b 3 4、設置指定索引位置的元素值 lset key index value eg: lset a 1 z #設置鍵爲a的列表中索引爲1的元素的值爲z 5、刪除指定元素 將列表中前count次出現的值爲value的元素移除 count > 0 :從頭至尾移除 count < 0 :從尾到頭移除 count = 0 :移除全部 lrem key count value eg: lrem a2 -2 b #從鍵爲a2的列表有才開始刪除2個b 6、根據鍵查看列表全部的元素 lrange a2 0 -1
# set類型:
無序集合,元素爲string類型,元素惟一不重複,沒有修改操做。
# zset類型:
有序集合,元素爲string類型,元素惟一不重複,沒有修改操做。
1、添加元素 sadd key member1 member2 eg: sadd a3 zhangsan lisi wangwu 2、返回素有的元素 smembers key eg: smembers a3 3、刪除指定元素 srem key member eg: srem a3 wangwu #刪除鍵a3的集合中元素wangwu
4、針對redis中的內容擴展
flushall 清空當前數據庫中的全部數據
針對各類數據類型它們的特性,使用場景以下:
字符串string: 用於保存一些項目中的普通數據,只要鍵值對的均可以保存,例如,保存 session,定時記錄狀態
哈希hash:用於保存項目中的一些字典數據,可是不能保存多維的字典,例如,商城的購物車
列表list:用於保存項目中的列表數據,可是也不能保存多維的列表,例如,隊列,秒殺,醫院的掛號
無序集合set:用於保存項目中的一些不能重複的數據,能夠用於過濾,例如,投票海選的時候,過濾候選人
有序集合zset:用於保存項目中一些不能重複,可是須要進行排序的數據,分數排行榜.
5、關於redis的幾個站點地址
中文官網: http://www.redis.cn/
英文官網:https://redis.io