redis端口: 6379
redis常用命令:
開啓:./redis-server redis.config
關閉:a)kill + 端口
b)./redis-cli shutdown
使用客戶端口連接:
./redis-cli -h IP -p 端口
參數詳解:
-h 指的是host 就是需要連接的ip
-p 指定的port 就是指定的端口號
存儲的類型主要有:String(常用), hash(常用), List, Set, SetSort
針對所有的類型都是 set 存放數值 || get 取值的
(附加):
String類型的:
incr(每次添加1):
decr(每次較少1):
del(刪除命令);
注:如果incr 或者 decr之後,再去取值都是String類型的
192.168.25.129:6379> keys *
1) "str1"
2) "keys"
192.168.25.129:6379> del keys
(integer) 1
192.168.25.129:6379> keys *
1) "str1"
192.168.25.129:6379>
例子:
192.168.25.129:6379> incr keys
(integer) 1
192.168.25.129:6379> incr keys
(integer) 2
192.168.25.129:6379> incr keys
(integer) 3
192.168.25.129:6379> decr keys
(integer) 2
192.168.25.129:6379> get keys
"2"
192.168.25.129:6379>
hash類型的:(只要的是一個key,一個map 或者叫做field)
存放值:hset hash1 field a
例子:
192.168.25.129:6379> hset hash1 field1 a
(integer) 1
192.168.25.129:6379> hset hash1 field2 b
(integer) 1
192.168.25.129:6379> hset hash1 field3 c
(integer) 1
192.168.25.129:6379> keys *
1) "str1"
2) "hash1"
192.168.25.129:6379> hkeys hash1
1) "field1"
2) "field2"
3) "field3"
192.168.25.129:6379> hvals field 2
(error) ERR wrong number of arguments for 'hvals' command
192.168.25.129:6379> hvals hasj1
(empty list or set)
192.168.25.129:6379> hvals hash1
1) "a"
2) "b"
3) "c
192.168.25.129:6379>
如果key和values一塊取出來的話 就用hgettall hash1
192.168.25.129:6379> hgetall hash1
1) "field1"
2) "a"
3) "field2"
4) "b"
5) "field3"
6) "c"
192.168.25.129:6379>
刪除裏邊某個元素:
192.168.25.129:6379> hdel hash1 field3
(integer) 1
192.168.25.129:6379> hkeys hash1
1) "field1"
2) "field2"
192.168.25.129:6379>
list類型的:(一個key對應的是一個list集合 有序,允許重複的)
從左邊存放元素:lpush list 存放的元素
從右邊存放元素:rpush list 存放的元素
查看所有的元素:lrange list 開始位置 結束位置
從左邊取出元素:lpop list
從右邊取出元素:lpop list
注意:取完元素就沒了
set類型的;(特點:裏邊不允許存放重複的內容,沒有順序)
放入元素:sadd set2 1 2 3 4 5
刪除元素: srem set2 1
查看元素個數:smembers set2
例子:
192.168.25.129:6379> sadd set2 1 2 3 4 5
(integer) 5
192.168.25.129:6379> srem set2 1
(integer) 1
192.168.25.129:6379> smembers set2
1) "2"
2) "3"
3) "4"
4) "5"
集合a和集合b之間的運算:
交集: sinter a集合 b集合
並集: sunion a集合 b集合
差集: sdiff a集合(以a集合爲標準) b集合
例子:
192.168.25.129:6379> sadd setA a b c d e
(integer) 5
192.168.25.129:6379> sadd setB c d e f g
(integer) 5
192.168.25.129:6379> sunion setA setB
1) "g"
2) "b"
3) "a"
4) "c"
5) "e"
6) "f"
7) "d"
192.168.25.129:6379> sdiff setA setB
1) "b"
2) "a"
192.168.25.129:6379> sdiff setB setA
1) "f"
2) "g"
192.168.25.129:6379> sinter setA setB
1) "c"
2) "e"
3) "d"
SortedSet集合:(有序,不能重複)
特點:一個元素對應一個分數,然後他是根據分數排列順序的
添加元素:zadd 集合名稱 {集合分數,集合元素}
192.168.25.129:6379> zadd zset 1 a 2 m 3 d 5 f 6 g
(integer) 5
192.168.25.129:6379>
查詢元素:
a).zrange 集合名稱 開始索引 最終索引
192.168.25.129:6379> zrange zset 0 -1
1) "a"
2) "m"
3) "d"
4) "f"
5) "g"
b).zrevrange 集合名稱 開始索引 最終索引(將排序倒序排列)
192.168.25.129:6379> ZREVRANGE zset 0 -1
1) "g"
2) "f"
3) "d"
4) "m"
c).zrevrange 集合名稱 開始索引 最終索引(將排序倒序排列) withscores
192.168.25.129:6379> ZREVRANGE zset 0 -1 withscores
1) "g"
2) "6"
3) "f"
4) "5"
5) "d"
6) "3"
7) "m"
8) "2"
刪除元素:zrem 集合名稱 要刪除的元素
192.168.25.129:6379> zrem zset a
(integer) 1
設置緩存時間:
命令:expire key 時間
例子:192.168.25.129:6379> EXPIRE str1 100
(integer) 1
查看緩存剩餘的時間:(參數說明: -1 說明是持久化的 -2是不存在的)
命令:ttl key
例子:
192.168.25.129:6379> ttl key
(integer) -2
192.168.25.129:6379> ttl str1
(integer) 81
192.168.25.129:6379> ttl str1
(integer) 80
192.168.25.129:6379> ttl str1
(integer) 79
192.168.25.129:6379> ttl str1
(integer) 78
192.168.25.129:6379> ttl str1
(integer) 78
192.168.25.129:6379> ttl str1
(integer) 77
持久化時間:
命令:Persist key key持久化
Redis持久化方案有哪幾種:
a).rdb 快照形式,定期把內存中當前時刻的數據保存到磁盤
b).aof 把所有對redis數據庫操作的命令,增刪改操作的命令。保存到文件中。數據庫恢復時把所有的命令執行一遍即可
操作:需要修改redis.conf配置文件中的appendonly 爲yes
區別:
rdb會有個默認設置時間去保存一次
aof會每秒保存一次(性能會下降,如果怕丟失數據的話,建議使用aof)
Redis搭建集羣:
主要修改config配置文件的 cluster-enabled yes 打開就行了
使用方法:使用Jredis連接