Redis資料結構之Strings

2021-08-18 00:13:30 字數 3752 閱讀 3077

set

127.0

.0.1:6379> set mystr showtime

ok127.0

.0.1:6379> keys *

1) "mystr"

127.0

.0.1:6379> get mystr

"showtime"

當再次給相同的key設定值時,會覆蓋已存在的值

127.0

.0.1:6379> set mystr showtimeagain

ok127.0

.0.1:6379> keys *

1) "mystr"

127.0

.0.1:6379> get mystr

"showtimeagain"

setnx

當key不存在,等同於set命令,若key存在,什麼也不做

127.0

.0.1:6379> setnx mykey hello

(integer) 1

127.0

.0.1:6379> keys *

1) "mykey"

127.0

.0.1:6379> get mykey

"hello"

127.0

.0.1:6379> setnx mykey world

(integer) 0

127.0

.0.1:6379> get mykey

"hello"

mset mget

mset同時設定多個值,mget同時取多個值

127.0.0.1:6379> mset key1 hello key2 world

ok127.0.0.1:6379> mget key1 key2

1) "hello"

2) "world"

msetnx

127.0

.0.1:6379> msetnx key1 hello key2 world

(integer) 1

127.0

.0.1:6379> mget

(error) err wrong number

of arguments for

'mget'

command

127.0

.0.1:6379> mget key1

1) "hello"

127.0

.0.1:6379> mget key1 key2

1) "hello"

2) "world"

127.0

.0.1:6379> msetnx key1 hello key2 world

(integer) 0

127.0

.0.1:6379> mget key1 key2

1) "hello"

2) "world"

getset

設定乙個key的value,並獲取設定前的值

127.0

.0.1:6379> set

key hello

ok127.0

.0.1:6379> get

key"hello"

127.0

.0.1:6379> getset key world

"hello"

127.0

.0.1:6379> get

key"world"

incr

redis中文官網對incr的解釋為:

127.0

.0.1:6379> keys *

(empty list or

set)

127.0

.0.1:6379> incr key

(integer) 1

127.0

.0.1:6379> keys *

1) "key"

127.0

.0.1:6379> get

key"1"

127.0

.0.1:6379> incr key

(integer) 2

127.0

.0.1:6379> get

key"2"

127.0

.0.1:6379> keys *

(empty list or

set)

127.0

.0.1:6379> set

key hello

ok127.0

.0.1:6379> type key

string

127.0

.0.1:6379> get

key"hello"

127.0

.0.1:6379> incr key

(error) err value is

not an integer

or out of range

127.0

.0.1:6379> flushdb

ok127.0

.0.1:6379> set

key1

ok127.0

.0.1:6379> get

key"1"

127.0

.0.1:6379> incr key

(integer) 2

127.0

.0.1:6379> get

key"2"

incrby

給指定key值,增加指定的值

127.0

.0.1:6379> keys *

(empty list or

set)

127.0

.0.1:6379> incrby key

(error) err wrong number

of arguments for

'incrby'

command

127.0

.0.1:6379> set key 1

ok127.0

.0.1:6379> incrby key 10

(integer) 11

127.0

.0.1:6379> get key

"11"

127.0

.0.1:6379> keys *

(empty list or

set)

127.0

.0.1:6379> set

key hello

ok127.0

.0.1:6379> get

key"hello"

127.0

.0(integer) 10

127.0

.0.1:6379> get

key"helloworld"

127.0

.0(integer) 4

127.0

.0.1:6379> get key1

"haha"

redis之資料結構 上

1.redis之key value對 key 在儲存redis記憶體中的資料起的變數名字 value value 的型別可以是string,list,set,sort set,hash.一般情況 key的命名規則是 鍵盤除了空格 換行外其他的大部分字元都可以使用。建議key不要太長,佔記憶體,也不要...

redis資料結構之字典

字典 dictionary 其實和符號表 symbol table 關聯陣列 associative array 對映 map 是乙個東東,都是為了儲存鍵值對 k v pair 的資料結構,屌屌噠。php中因為能很方便的用關聯陣列,因此能寫出很多實用高效的 有空一定要去好好了解下php的關聯陣列是如...

redis資料結構之List

在redis中,list型別是按照插入順序排序的字串鍊錶。和資料結構中的普通鍊錶一樣,我們可以在其頭部 left 和尾部 right 新增新的元素。在插入時,如果該鍵並不存在,redis將為該鍵建立乙個新的鍊錶。與此相反,如果鍊錶中所有的元素均被移除,那麼該鍵也將會被從資料庫中刪除。list中可以包...