快速掌握Redis——第三招:KEY 操做

說完數據庫類型(Key+Value的不一樣組合),如今說說 key 的操做,至關於mysql的字段,屬性,redis對於key的操做很豐富。mysql

1 刪除

del key1 key2 ... Keyn

做用: 刪除1個或多個鍵 返回值: 不存在的key忽略掉,返回真正刪除的key的數量redis

2 重命名

  • 重命名 (強制)sql

    rename key newkey

做用: 給key賦一個新的key名 注:若是newkey已存在,則newkey的原值被覆蓋數據庫

  • 重命名 (沒有key名就命名)dom

    renamenx key newkey

做用: 把key更名爲newkey 返回: 發生修改返回1,未發生修改返回0 注: nx--> not exists, 即, newkey不存在時,做更名動做code

3 隨機 key

格式:three

randomkey

返回隨機key生命週期

4 是否存在 key

格式:進程

exists key

判斷key是否存在,返回1/0get

5 判斷 key 類型

格式:

type key

返回key存儲的值的類型有string,link,set,order set, hash

6 查詢key 有效時間

格式:

ttl key

做用: 查詢key的生命週期 返回: 秒數

注:對於不存在的key或已過時的key/不過時的key,都返回-1 Redis2.8中,對於不存在的key,返回-2

7 設置key 有效期

格式:

expire key seconds #seconds:整型值

做用: 設置key的生命週期,以秒爲單位

同理: pexpire key 毫秒數, 設置生命週期

pttl  key, 以毫秒返回生命週期

指定key置爲永久有效

persist key

8 數據庫切換/轉移數據

一個redis進程,打開了不止一個數據庫, 默認打開16個數據庫,從0到15編號, 若是想打開更多數據庫,能夠從配置文件修改 格式:

select N
move key db

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
1) "name"
2) "age"
127.0.0.1:6379[1]> select 2
OK
127.0.0.1:6379[2]> keys *
(empty list or set)
127.0.0.1:6379[2]> set salary 7000
OK
127.0.0.1:6379[2]> move salary 1
(integer) 1
127.0.0.1:6379[2]> select 1
OK
127.0.0.1:6379[1]> keys *
1) "salary"
2) "name"
3) "age"
127.0.0.1:6379[1]> get salary
"7000"

9 通配符 pattern

keys pattern 查詢相應的key 在redis裏,容許模糊查詢key 有3個通配符 *, ? ,[] *: 通配任意多個字符 ?: 通配單個字符 []: 通配括號內的某1個字符

redis 127.0.0.1:6379> flushdb
OK
redis 127.0.0.1:6379> keys *
(empty list or set)
redis 127.0.0.1:6379> mset one 1 two 2 three 3 four 4
OK
redis 127.0.0.1:6379> keys o*
1) "one"
redis 127.0.0.1:6379> key *o
(error) ERR unknown command 'key'
redis 127.0.0.1:6379> keys *o
1) "two"
redis 127.0.0.1:6379> keys ???
1) "one"
2) "two"
redis 127.0.0.1:6379> keys on?
1) "one"
redis 127.0.0.1:6379> set ons yes
OK
redis 127.0.0.1:6379> keys on[eaw]
"one"
相關文章
相關標籤/搜索