1. 程式人生 > >redis 操作數據

redis 操作數據

刪除 接受 命令 end 添加 集合 例如 start hung

# 原創,轉載請留言聯系

先放一波 Redis命令文檔:http://doc.redisfans.com/

redis 可以存儲5中數據結構:

字符串string

哈希hash

列表list

集合set

有序集合zset

下面列出一點常用操作!

  • 字符串String

字符串類型是 Redis 中最為基礎的數據存儲類型,它在 Redis 中是二進制安全的,這便意味著該類型可以接受任何格式的數據,如JPEG圖像數據或Json對象描述信息等。在Redis中字符串類型的Value最多可以容納的數據長度是512M。

1.設置單個鍵值

set key value

例如:set name chichung

2.設置多個鍵值

mset key1 value1 key2 value2...

例如:mset name chichung gender man

# 註:m就是muti,多個

3.追加字符

比如你想插入name:chichung,不小心打漏了個g,怎麽操作呢?

set name chichun

append name g

4.查看單個值

get key

例如:get name

5.查看多個值

mget key1 key2 key3...

例如:mget name gender

6.修改一個鍵的值

重新設置一個同名的鍵就行了。

set name zhicong

7.設置一個鍵值對,並讓它過了某段時間自動刪除

setex key seconds value

例如:setex name 10 chichung

表示過了10秒後刪除 name:chichung

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 哈希hash

hash?於存儲對象,對象的結構為屬性 # 就是python中字典的結構

的類型為string # 由於值的類型是string,所以不能儲存字典的嵌套

1.添加單個屬性

hset key field value

例如:設置 info 的屬性 name 為 chichung

hset info name chichung

2.添加多個屬性

hmset key field1 value1 field2 value2...

例如:hmset info name chichung gender man

3.查看所有某個鍵的的屬性

hkeys key

例如:keys info

會返回屬性名,name,gender

4.查看一個屬性的值

hget key field

例如:hget info name

5.查看多個屬性的值

hmget key1 key2...

例如:hmget info name gender

6.查看所有屬性的值

hvals key

例如:hvals info

7.刪除屬性和值

hdel key field1 field2...

例如:hdel info gender

刪除 info 鍵的屬性 gender 和 gender 屬性的值 man

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 列表list

列表的元素類型為string

按照插?順序排序

1.在左側插入數據

lpush key value1 value2 ...

例如:lpush ele a b c

那麽他在 redis 數據庫的排序是 c b a

2.在右側插入數據

rpush key value1 value2...

3.從指定元素的前後插入數據

linsert key before 現有元素 新元素

rinsert key after 現有元素 新元素

例如:linsert ele before a 0

在 a 元素的前面插入 0

4.查看列表的元素

lrange key start_index end_index

例如:查看列表的全部元素

lrange ele 0 -1

5.修改指定元素的值

lset key index value

例如,把下標是3的元素修改為 apple

lset ele 3 apple

6.從左邊開始,刪除 n 個相同的元素

lrem key n value

例如,從左邊開始,刪除兩個 a

lrem ele 2 a

7.從右邊開始,刪除 n 個相同的元素

lrem key -n value

例如,從右邊開始,刪除兩個 b

lrem ele -2 b

8.刪除列表中全部的某個元素

lrem key 0 value

例如,刪除列表中全部的 c

lrem ele 0 c

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 無序集合set

元素為string類型

元素具有唯?性,不重復

說明:對於集合沒有修改操作

1.添加元素

sadd key member1 member2...

例如:sadd ele a b c d e f g

2.獲取所有元素

smembers key

例如:smembers ele

3.刪除指定元素

srem key value

例如:srem ele g

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 有序集合zset

元素為string類型

元素具有唯?性,不重復

每個元素都會關聯?個double類型的score,表示權重,通過權重將元素從?到?排序

說明:沒有修改操作

1.添加元素

zadd key score1 member1 score2 member2 ...

例如:zadd ele 1 a 2 b 4 d 3 c

那麽他的順序是a b c d

2.獲取指定範圍內的元素

1.根據下標

zrange key start_index end_index

例如:獲取有序集合的全部元素

zrange ele 0 -1

2.根據權重

zrangebrscore key min max

例如,獲取權重是2-3之間的全部元素

zrangebyscore ele 2 3

3.返回某個元素的權重

zscore key member

例如,獲取 c 的權重值

zscore ele c

4.刪除有序集合的指定元素

zrem key member1 member2...

例如,刪除有序集合的 c d

zrem ele c d

5.刪除權重值之間的元素

zremrangebyscore key min max

例如,刪除有序集合中權重為2-3的元素

zremrangebyscore ele 2 3

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 鍵命令

1.判斷鍵是否存在

exists key

2.查看鍵對應的值的類型

type key

3.刪除鍵值

del key1 key2...(寫一個鍵就是刪除一個)

例如:del name gender

4.讓已經存在的一個鍵對,過了某段時間自動刪除

expire key seconds

例如:expire name 10

表示10秒後刪除 name 鍵

5.查看鍵對還有幾秒刪除

ttl key

例如:ttl name

註意:如果 key 是設置了倒計時刪除的,ttl 命令可以看到它的剩余時間,結束後輸出內容為-2!

如果 key 本來就沒有設置倒計時刪除的,ttl key 永遠都是-1。

redis 操作數據