redis學習總結(二)

2021-06-07 14:33:57 字數 3941 閱讀 5482

需要檢視當前庫的資料量,有三種方法:keys *,dbsize,info(這裡是有很多的資料引數,也是最近常使用的)

[root@fsailing1 bin]# ./redis-cli

redis 127.0.0.1:6379> keys *

1) "key2"

2) "age"

3) "ss"

4) "test"

5) "name"

6) "key1"

redis 127.0.0.1:6379> dbsize

(integer) 6

redis 127.0.0.1:6379> info

redis_version:2.4.15

redis_git_sha1:00000000

vm_enabled:0

role:master

db0:keys=6,expires=0

db1:keys=5,expires=0

檢視某個key值時,exists刪除某個key值時del

redis 127.0.0.1:6379> exists age

(integer) 1

redis 127.0.0.1:6379> exists chen

(integer) 0

redis 127.0.0.1:6379> del age

(integer) 1

redis 127.0.0.1:6379> exists age

(integer) 0

key值的重新命名問題rename/renamenx

redis 127.0.0.1:6379> keys *

1) "key2"

2) "ss"

3) "test"

4) "name"

5) "key1"

redis 127.0.0.1:6379> rename ss chen

okredis 127.0.0.1:6379> renamenx key1 chen

(integer) 0

redis 127.0.0.1:6379> keys *

1) "key2"

2) "chen"

3) "test"

4) "name"

5) "key1"

設定過期時間和持久化expire/persist還有個命令就是檢視當前的情況,ttl意思是time to live

redis 127.0.0.1:6379> keys *

1) "key2"

2) "ss"

3) "test"

4) "name"

5) "key1"

redis 127.0.0.1:6379> rename ss chen

okredis 127.0.0.1:6379> renamenx key1 chen

(integer) 0

redis 127.0.0.1:6379> keys *

1) "key2"

2) "chen"

3) "test"

4) "name"

5) "key1"

redis 127.0.0.1:6379> expire chen 10

(integer) 1

redis 127.0.0.1:6379> ttl chen

(integer) 6

redis 127.0.0.1:6379> ttl chen

(integer) 4

redis 127.0.0.1:6379> ttl chen

(integer) 2

redis 127.0.0.1:6379> keys *

1) "key2"

2) "test"

3) "name"

4) "key1"

redis 127.0.0.1:6379> expire test 100

(integer) 1

redis 127.0.0.1:6379> ttl test

(integer) 94

redis 127.0.0.1:6379> persist test

(integer) 1

redis 127.0.0.1:6379> ttl test

(integer) -1

還有redis預設是有16個庫存,我們如何進行選擇和使用呢:select move

redis 127.0.0.1:6379[19]> select 15

okredis 127.0.0.1:6379[15]> select 16

(error) err invalid db index

redis 127.0.0.1:6379> keys *

1) "key2"

2) "test"

3) "name"

4) "key1"

redis 127.0.0.1:6379> move key1 1

(integer) 1

redis 127.0.0.1:6379> select 1

okredis 127.0.0.1:6379[1]> keys *

1) "test3"

2) "test"

3) "key1"

4) "test2"

5) "myhash"

6) "mylist"

redis 127.0.0.1:6379[1]> select 0

okredis 127.0.0.1:6379> keys *

1) "key2"

2) "test"

3) "name"

還有個type檢視資料型別的,ping檢視是否可以通,monitor設定監聽當前redis服務的所有操作,flushdb/flushall乙個是刪除當前庫乙個是刪除所有的

redis 127.0.0.1:6379> keys *

1) "key2"

2) "test"

3) "name"

4) "myhash"

5) "mylist"

redis 127.0.0.1:6379> type test

string

redis 127.0.0.1:6379> type mylist

list

redis 127.0.0.1:6379> type myhash

hash

redis 127.0.0.1:6379> monitor

ok1341712254.633378 "monitor"

1341712284.551501 "keys" "*"

1341712294.886231 (db 2) "select" "2"

1341712304.387199 (db 2) "get" "test"

1341712314.647020 (db 2) "type" "test"

redis 127.0.0.1:6379> config  set requirepass chen

okredis 127.0.0.1:6379> keys *

(error) err operation not permitted

redis 127.0.0.1:6379> auth chen

okredis 127.0.0.1:6379> keys *

1) "key2"

2) "test"

3) "name"

4) "myhash"

5) "mylist"

這裡的pass需要設定密碼,可以在配置檔案裡,也可以在在命令列中配置。那麼ping其實就是用來測試是否通暢的,如果有密碼那就ping不同了。

redis學習總結

1 redis屬於非關係型資料庫,而我們經常用的mysql oracle資料庫都是屬於關係型資料庫,它們本質上的區別是 mysql oracle資料庫對於資料規範要求嚴格,還有對事務的支援 而redis則沒有明確的資料規範要求,redis在操作事務是單執行緒的,不會出現執行緒安全性問題,例 incr...

redis學習總結

啟動命令 1,redis鍵 key 2,string 字串 1 在做原子操作,執行緒1加10,執行緒2減3,就可以採用incrby自增 decrby自減 可以多倍遞增和多倍遞減 2 getstrange和getstrange 3 setex 設定過期時間 和setnx 如果不存在建立成功 4 mse...

Redis學習總結

1 windows和linux上都可以部署redis 2 windows使用命令查詢 1 啟動redis cli.exe,開啟命令列介面 2 輸入 keys 獲得redis中所有的key值 3 輸入 get 某個key 獲取key對應的value值 3 目前的專案上使用redis來儲存使用者的ses...