程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Redis教程 >> 關於Redis >> Redis02 使用Redis數據庫(String類型)全面解析

Redis02 使用Redis數據庫(String類型)全面解析

編輯:關於Redis

一 String類型

首先使用啟動服務器進程 :

redis-server.exe

1. Set

  設置Key對應的值為String 類型的value。

  例子:向 Redis數據庫中插入一條數據類型為String 的記錄。

  在客戶端輸入命令:

C:\software\redis\64bit>redis-cli.exe -h 127.0.0.1 -p 6379
redis 127.0.0.1:6379> set foo test
OK
redis 127.0.0.1:6379> get foo
"test" 

2.setnx

 設置key對應的值為string類型的value,如果key已經存在,返回0,nx是not exist的意思。命令簡單的理解為: 設置一個key,如果可以key對應的值不存在才更新值。

redis 127.0.0.1:6379> setnx foo1 aaa
(integer) 1
redis 127.0.0.1:6379> get foo1
"aaa"
redis 127.0.0.1:6379> setnx foo1 bbb
(integer) 0 

3. setex

  設置key對應的值為string類型的value,並制定此鍵值對應的有效期。

例如:添加一個haircolor=red的鍵值對,並指定有效期為10秒。

redis 127.0.0.1:6379> setex haircolor 10 red
OK
redis 127.0.0.1:6379> get haircolor
"red"
redis 127.0.0.1:6379> get haircolor
(nil) 

4 setrange

設置指定key的value的子字符串

例如: 我們希望將 xpxiaowu的126郵箱替換為gmail郵箱。

redis 127.0.0.1:6379> set name [email protected]
OK
redis 127.0.0.1:6379> setrange name 6 gmail.com
(integer) 15
redis 127.0.0.1:6379> get name
"[email protected]" 

5.mset

  一次設置多個key的值,成功返回ok表示所有的值都設置了,失敗返回0表示沒有任何值被設置。

redis 127.0.0.1:6379> mset key1 wangwu key2 lisi
OK
redis 127.0.0.1:6379> get key1
"wangwu"
redis 127.0.0.1:6379> get key2
"lisi" 

6.msetnx

一次設置多個key的值,成功返回ok,表示所有的值都設置了,失敗返回0,表示沒有沒任何值被設置,但是不會覆蓋已經存在的key.

如果有一個key沒有設置成功,其他key都不會設置成功。

redis 127.0.0.1:6379> msetnx key1 aaa key2 bbb key3 ccc
(integer) 0
redis 127.0.0.1:6379> get key1
"wangwu"
redis 127.0.0.1:6379> get key2
"lisi"
redis 127.0.0.1:6379> get key3
(nil)
redis 127.0.0.1:6379> msetnx key3 aaa key4 bbb key5 ccc
(integer) 1
redis 127.0.0.1:6379> get key1
"wangwu"
redis 127.0.0.1:6379> get dkey2
(nil)
redis 127.0.0.1:6379> get key3
"aaa"
redis 127.0.0.1:6379> get key4
"bbb"
redis 127.0.0.1:6379> get key5
"ccc"

7. get 獲得可以對應得string 值,如果key不存在返回nil .

getset 設置key的值,並返回key 的舊值。

getrange

獲取key對應的value值的子字符串。

getrange name 0 5
mget

一次獲取多個key的值,如果對應key不存在則對應返回nil.

redis 127.0.0.1:6379> mget key1 key2 key3 key4 key5

1) "wangwu"
2) "lisi"
3) "aaa"
4) "bbb"
5) "ccc"

8. incr

對key的值做加加操作,並返回新的值。

incrby

同incr 類似,加指定值,key 不存在時候回設置key,並認為原來的value是0.

redis 127.0.0.1:6379> set key6 0
OK
redis 127.0.0.1:6379> get key6
"0"
redis 127.0.0.1:6379> incr key6
(integer) 1
redis 127.0.0.1:6379> set key7 1
OK
redis 127.0.0.1:6379> get key7
"1"
redis 127.0.0.1:6379> incrby key7 5
(integer) 6
redis 127.0.0.1:6379> get key7
"6"

  decr

 對key的值做減減操作。

decrby

同decr類似,減指定值。

9. append

給指定key的字符串追加value,返回新字符串值的長度。

redis 127.0.0.1:6379> get key6
"1"
redis 127.0.0.1:6379> append key6 @163.com
(integer) 9
redis 127.0.0.1:6379> get key6
[email protected]

以上所述是小編給大家介紹的Redis02 使用Redis數據庫(String類型)全面解析,希望對大家有所幫助,如果大家想了解更多內容,敬請關注!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved