⑴ 若redis版本不支持redis-cli命令,怎麼連接
[Redis] redis-cli 命令總結
Redis提供了豐富的命令(command)對資料庫和各種數據類型進行操作,這些command可以在linux終端使用。
在編程時,比如使用Redis 的Java語言包,這些命令都有對應的方法。下面將Redis提供的命令做一總結。
官網命令列表:http://redis.io/commands (英文)
1、連接操作相關的命令
quit:關閉連接(connection)
auth:簡單密碼認證
2、對value操作的命令
exists(key):確認一個key是否存在
del(key):刪除一個key
type(key):返回值的類型
keys(pattern):返回滿足給定pattern的所有key
randomkey:隨機返回key空間的一個key
rename(oldname, newname):將key由oldname重命名為newname,若newname存在則刪除newname表示的key
dbsize:返回當前資料庫中key的數目
expire:設定一個key的活動時間(s)
ttl:獲得一個key的活動時間
select(index):按索引查詢
move(key, dbindex):將當前資料庫中的key轉移到有dbindex索引的資料庫
flushdb:刪除當前選擇資料庫中的所有key
flushall:刪除所有資料庫中的所有key
3、對String操作的命令
set(key, value):給資料庫中名稱為key的string賦予值value
get(key):返回資料庫中名稱為key的string的value
getset(key, value):給名稱為key的string賦予上一次的value
mget(key1, key2,…, key N):返回庫中多個string(它們的名稱為key1,key2…)的value
setnx(key, value):如果不存在名稱為key的string,則向庫中添加string,名稱為key,值為value
setex(key, time, value):向庫中添加string(名稱為key,值為value)同時,設定過期時間time
mset(key1, value1, key2, value2,…key N, value N):同時給多個string賦值,名稱為key i的string賦值value i
msetnx(key1, value1, key2, value2,…key N, value N):如果所有名稱為key i的string都不存在,則向庫中添加string,
名稱key i賦值為value i
incr(key):名稱為key的string增1操作
incrby(key, integer):名稱為key的string增加integer
decr(key):名稱為key的string減1操作
decrby(key, integer):名稱為key的string減少integer
append(key, value):名稱為key的string的值附加value
substr(key, start, end):返回名稱為key的string的value的子串
4、對List操作的命令
rpush(key, value):在名稱為key的list尾添加一個值為value的元素
lpush(key, value):在名稱為key的list頭添加一個值為value的 元素
llen(key):返回名稱為key的list的長度
lrange(key, start, end):返回名稱為key的list中start至end之間的元素(下標從0開始,下同)
ltrim(key, start, end):截取名稱為key的list,保留start至end之間的元素
lindex(key, index):返回名稱為key的list中index位置的元素
lset(key, index, value):給名稱為key的list中index位置的元素賦值為value
lrem(key, count, value):刪除count個名稱為key的list中值為value的元素。
count為0,刪除所有值為value的元素,count>0從頭至尾刪除count個值為value的元素,count<0從尾到頭刪除|count|個值為value的元素。
lpop(key):返回並刪除名稱為key的list中的首元素 rpop(key):返回並刪除名稱為key的list中的尾元素
blpop(key1, key2,… key N, timeout):lpop命令的block版本。
即當timeout為0時,若遇到名稱為key i的list不存在或該list為空,則命令結束。
如果timeout>0,則遇到上述情況時,等待timeout秒,如果問題沒有解決,則對keyi+1開始的list執行pop操作。
brpop(key1, key2,… key N, timeout):rpop的block版本。參考上一命令。
rpoplpush(srckey, dstkey):返回並刪除名稱為srckey的list的尾元素,並將該元素添加到名稱為dstkey的list的頭部
5、對Set操作的命令
sadd(key, member):向名稱為key的set中添加元素member
srem(key, member) :刪除名稱為key的set中的元素member
spop(key) :隨機返回並刪除名稱為key的set中一個元素
smove(srckey, dstkey, member) :將member元素從名稱為srckey的集合移到名稱為dstkey的集合
scard(key) :返回名稱為key的set的基數
sismember(key, member) :測試member是否是名稱為key的set的元素
sinter(key1, key2,…key N) :求交集
sinterstore(dstkey, key1, key2,…key N) :求交集並將交集保存到dstkey的集合
sunion(key1, key2,…key N) :求並集
sunionstore(dstkey, key1, key2,…key N) :求並集並將並集保存到dstkey的集合
sdiff(key1, key2,…key N) :求差集
sdiffstore(dstkey, key1, key2,…key N) :求差集並將差集保存到dstkey的集合
smembers(key) :返回名稱為key的set的所有元素
srandmember(key) :隨機返回名稱為key的set的一個元素
6、對zset(sorted set)操作的命令
zadd(key, score, member):向名稱為key的zset中添加元素member,score用於排序。如果該元素已經存在,則根據score更新該元素的順序。
zrem(key, member) :刪除名稱為key的zset中的元素member
zincrby(key, increment, member) :如果在名稱為key的zset中已經存在元素member,則該元素的score增加increment;
否則向集合中添加該元素,其score的值為increment
zrank(key, member) :返回名稱為key的zset(元素已按score從小到大排序)中member元素的rank(即index,從0開始),
若沒有member元素,返回「nil」
zrevrank(key, member) :返回名稱為key的zset(元素已按score從大到小排序)中member元素的rank(即index,從0開始),
若沒有member元素,返回「nil」
zrange(key, start, end):返回名稱為key的zset(元素已按score從小到大排序)中的index從start到end的所有元素
zrevrange(key, start, end):返回名稱為key的zset(元素已按score從大到小排序)中的index從start到end的所有元素
zrangebyscore(key, min, max):返回名稱為key的zset中score >= min且score <= max的所有元素
zcard(key):返回名稱為key的zset的基數 zscore(key, element):返回名稱為key的zset中元素element的
score zremrangebyrank(key, min, max):刪除名稱為key的zset中rank >= min且rank <= max的所有元素
zremrangebyscore(key, min, max) :刪除名稱為key的zset中score >= min且score <= max的所有元素
zunionstore / zinterstore(dstkeyN, key1,…,keyN, WEIGHTS w1,…wN, AGGREGATE SUM|MIN|MAX):對N個zset求並集和交集,
並將最後的集合保存在dstkeyN中。對於集合中每一個元素的score,在進行AGGREGATE運算前,都要乘以對於的WEIGHT參數。
如果沒有提供WEIGHT,默認為1。默認的AGGREGATE是SUM,即結果集合中元素的score是所有集合對應元素進行SUM運算的值,而MIN和MAX是指,
結果集合中元素的score是所有集合對應元素中最小值和最大值。
7、對Hash操作的命令
hset(key, field, value):向名稱為key的hash中添加元素field<—>value
hget(key, field):返回名稱為key的hash中field對應的value
hmget(key, field1, …,field N):返回名稱為key的hash中field i對應的value
hmset(key, field1, value1,…,field N, value N):向名稱為key的hash中添加元素field i<—>value i
hincrby(key, field, integer):將名稱為key的hash中field的value增加integer
hexists(key, field):名稱為key的hash中是否存在鍵為field的域
hdel(key, field):刪除名稱為key的hash中鍵為field的域
hlen(key):返回名稱為key的hash中元素個數
hkeys(key):返回名稱為key的hash中所有鍵
hvals(key):返回名稱為key的hash中所有鍵對應的value
hgetall(key):返回名稱為key的hash中所有的鍵(field)及其對應的value
8、持久化
save:將數據同步保存到磁碟
bgsave:將數據非同步保存到磁碟
lastsave:返回上次成功將數據保存到磁碟的Unix時戳
shundown:將數據同步保存到磁碟,然後關閉服務
9、遠程服務控制
info:提供伺服器的信息和統計
monitor:實時轉儲收到的請求
slaveof:改變復制策略設置
config:在運行時配置Redis伺服器
⑵ 啟動redis-server之後怎麼停止
安裝redis之後 在命令行窗口中輸入 redis-server redis.windows.conf 啟動redis 關閉命令行窗口就是關閉redis。
Redis(Remote Dictionary Server ),即遠程字典服務,是一個開源的使用ANSIC語言編寫、支持網路、可基於內存亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。
從2010年3月15日起,Redis的開發工作由VMware主持。從2013年5月開始,Redis的開發由Pivotal贊助。
定義:
redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字元串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。
在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁碟或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步。
⑶ windows redis怎麼啟動
安裝redis之後 在命令行窗口中輸入 redis-server redis.windows.conf 啟動redis 關閉命令行窗口就是關閉 redis。 --- redis作為windows服務啟動方式 redis-server --service-install redis.windows.conf 啟動服務:redis-server --service-start 停止服務:redis-server --service-stop
⑷ redis服務啟動會每5分鍾連接一次客戶端,怎麼取消這個命令
Redis 命令用於在 redis 服務上執行操作。所以我們必須要啟動Redis服務程序,也就是redis安裝目錄下的redis-server.exe,你可以雙擊執行,也可以打開cmd窗口,將路徑定位到Redis安裝目錄下,通過redis-server命令執行。
要在 redis 服務上執行命令需要一個 redis 客戶端。Redis 客戶端在我們之前下載的的 redis 的安裝包中,也就是redis-cli.exe,同理,可以雙擊執行也可以通過命令執行。
⑸ Redis啟動、停止、Redis命令行的操作
1.redis命令
1 redis執行了make install後,redis的課執行文件都會自動復制到 /usr/local/bin 目錄
2 redis-server redis伺服器
3 redis-cli redis命令行客戶端
4 redis-benchmark redis性能測試工具
5 redis-check-aof aof文件修復工具6redis-check-mp rdb文件檢查工具
2.停止 redis 命令
# 停止Redis命令
redis-cli shutdown
3.啟動 redis 命令
(1). # 啟動 redis-server
redis-server
(2). # 帶配置文件啟動
(3). # 帶配置文件啟動 且指定某幾個配置 配置名稱前加 --
會覆蓋配置文件裡面的值
回到頂部
4.redis命令行客戶端
(1).發送命令
注意:框裡面的是 6379 裡面沒有登錄成功,下面改成了 1123 成功了,因為剛才上面改了埠
(2).命令返回值
狀態回復:pong表示可用
錯誤回復:不知道這個什麼命令
整數回復:多種命令會回復整數
下面的字元串回復,都是賦值了才有。
字元串回復:
多行字元串回復:
⑹ redis啟動,停止
1.直接啟動
進入redis根目錄,執行命令:
#加上『&』號使redis以後台程序方式運行
./redis-server &
2.通過指定配置文件啟動
可以為redis服務啟動指定配置文件,例如配置為/etc/redis/6379.conf
進入redis根目錄,輸入命令:
./redis-server /etc/redis/6379.conf
#如果更改了埠,使用`redis-cli`客戶端連接時,也需要指定埠,例如:
redis-cli -p 6380
後台方式啟動
修改redis.conf,把daemonize no修改成daemonize yes
停止:redis-cli shutdown
查找進程號
ps -ef | grep redis
殺進程
kill -6 pid
redis快照問題錯誤信息如下:
MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
排查與解決步驟:
進入redis使用info命令查看,會發現最後一次快照失敗的信息
rdb_last_bgsave_status:err
處理方法:
1.進入redis臨時關閉配置(如果需要,要再redis.conf上寫上該配置,不然下次重啟redis配置會失效)
config set stop-writes-on-bgsave-error no
⑺ Redis停止的命令
Redis停止的命令
我的redis是部署在linux機器上的,而且是redis集群。下面的命令都是在linux上使用的。
執行後,輸出的記錄中,含有「redis-server」的行,全是運行的redis服務節點。
「redis-server」所在行的最後,會有「IP:埠號」,執行第3步停止redis集群時要使用。
第一行記錄,都要執行一次停止命令。
2. 進入redis-cli所在目錄
註:如果不知道redis-cli所在目錄,請使用如下命令查找(網上很多的人回答,redis-cli在redis/bin目錄,我的機器卻不是)
3. 停止redis服務,使用的IP、埠號為第1步查看出的IP、埠號。
第一步中的第一行記錄,都要執行一次停止命令。
註:不加「-h IP」參數時,會提示如下內容,停止是失敗的
Could not connect to Redis at 127.0.0.1:XXXX: Connection refused
4. 查看redis服務是否停止成功
執行後,輸出的記錄中,不存在含有「redis-server」的行,則redis服務停止成功。
原文:
YouLuoJv使用知識的小磚壘起質量、效率燈塔,希望可以照亮更多人的路