本文主要介紹redis命令列的使用,使用到的軟體版本:Java 1.8.0_191、Redis 5.0.8、Centos 7.6,
1、redis-cli語法
redis-cli默認在安裝安裝目錄的src下,語法如下:
redis-cli [OPTIONS] [cmd [arg [arg ...]]]
-h <hostname> 指定主機,默認為127.0.0.1
-p <port> 指定埠,默認為6379
-a <password> 指定密碼
-c 啟用集群模式
--cluster <command> 集群相關操作
--help 列印幫助
--version 列印版本資訊
例子:
cd /home/hadoop/app/redis-5.0.8/src ./redis-cli
2、命令
2.1、一般性命令
info 查看整體資訊
auth password 輸入redis密碼
select index 切換到指定的資料庫
quit/exit 關閉當前連接
2.2、配置相關
config get pattern 查看匹配的配置項
config set item item_value 設定配置項
例子:
127.0.0.1:6379> config get *
2.3、鍵(key)
del key 洗掉key
exists key 檢查key是否存在
expire key seconds 設定key的過期時間,以秒計,
pexpire key milliseconds 設定key的過期時間,以毫秒計,
keys pattern 查找所有符合給定模式的key
persist key 移除key的過期時間,key將持久保持,
pttl key 以毫秒為單位回傳key的剩余的過期時間,
ttl key 以秒為單位回傳key的剩余的過期時間,
rename key newkey 修改key的名稱
renamenx key newkey 僅當newkey不存在時,將key改名為newkey,
type key 查看key所儲存的值的型別
2.4、字串
set key value 設定key的值
setnx key value 只有在key不存在時設定key的值
get key 獲取key的值
mset key value [key value ...] 同時設定一個或多個key-value 對
msetnx key value [key value ...] 同時設定一個或多個key-value對,當且僅當所有給定key都不存在,
mget key1 [key2..] 獲取所有給定key的值
例子:
127.0.0.1:6379> set a hello 127.0.0.1:6379> get a
2.5、哈希(Hash)
Redis hash是一個string型別的field和value的映射表,有點像Java中的Map,hash特別適合用于存盤物件,
hdel key field1 [field2] 洗掉一個或多個哈希表欄位
hexists key field 查看哈希表key中,指定的欄位是否存在
hget key field 獲取存盤在哈希表中指定欄位的值
hset key field value 將哈希表key中的欄位field的值設為value
hgetall key 獲取在哈希表中指定key的所有欄位和值
hkeys key 獲取所有哈希表中的欄位
hlen key 獲取哈希表中欄位的數量
hmget key field1 [field2] 獲取所有給定欄位的值
hmset key field1 value1 [field2 value2] 同時將多個field-value(域-值)對設定到哈希表key中
hsetnx key field value 只有在欄位field不存在時,設定哈希表欄位的值
例子:
127.0.0.1:6379> hmset user1 name "mayun" location "杭州" age 50 127.0.0.1:6379> hgetall user1
2.6、串列(List)
Redis串列是簡單的字串串列,按照插入順序排序,你可以添加一個元素到串列的頭部或者尾部,
lpush key value1 [value2] 將一個或多個值插入到串列頭部
lpushx key value1 [value2] 將一個或多個值插入到已存在的串列頭部
rpush key value1 [value2] 將一個或多個值插入到串列尾部
rpushx key value1 [value2] 將一個或多個值插入到已存在的串列尾部
lrange key start stop 獲取串列指定范圍內的元素
lset key index value 通過索引設定串列元素的值
lpop key 移出并獲取串列的第一個元素
rpop key 移出并獲取串列的最后一個元素
例子:
127.0.0.1:6379> lpush list1 a b c 127.0.0.1:6379> lrang list1 0 10
2.7、集合(Set)
sadd key member1 [member2] 向集合添加一個或多個成員
scard key 獲取集合的成員數
sismember key member 判斷member元素是否是集合key的成員
smembers key 回傳集合中的所有成員
srem key member1 [member2] 移除集合中一個或多個成員
例子:
127.0.0.1:6379> sadd set1 a b c 127.0.0.1:6379> smembers set1
2.8、有序集合(sorted set)
Redis有序集合的每個元素都會關聯一個double型別的分數,redis正是通過分數來為集合中的成員進行從小到大的排序,
zadd key score1 member1 [score2 member2] 向有序集合添加一個或多個成員,或者更新已存在成員的分數
zrem key member [member ...] 移除有序集合中的一個或多個成員
zcard key 獲取有序集合的成員數
zincrby key increment member 有序集合中對指定成員的分數加上增量increment
zrange key start stop [WITHSCORES] 通過索引區間回傳有序集合指定區間內的成員
zscore key member 回傳有序集中,成員的分數值
例子:
127.0.0.1:6379> zadd sortedset1 1 java 2 c++ 3 js 3 css 127.0.0.1:6379> zrange sortedset1 0 10
2.9、HyperLogLog
Redis HyperLogLog是用來做基數統計用的,就是統計一個資料集中不重復元素的個數,
pfadd key element [element ...] 添加指定元素到HyperLogLog 中
pfcount key [key ...] 回傳給定HyperLogLog的基數估算值
例子:
127.0.0.1:6379> pfadd hyper1 java c++ java js 127.0.0.1:6379> pfcount hyper1
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/164046.html
標籤:Java
