Redis的入門及注意事項

一、redis簡介redis

Remote Dictionary Server數據庫

Redis 與其餘 key - value 緩存產品有如下三個特色:緩存

Redis支持數據的持久化,能夠將內存中的數據保存在磁盤中,重啓的時候能夠再次加載進行使用。Save數據結構

Redis不單單支持簡單的key-value類型的數據,同時還提供listsetzsethash等數據結構的存儲。(其餘kv的支持何種類型?)dom

性能極高Redis能讀的速度是110000/s,寫的速度是81000/s 性能

Redis的全部操做都是原子性的,同時Redis還支持對幾個操做全並後的原子性執行。測試

 

二、Redis 安裝,配置ui

壓縮包解壓就好。阿里雲

阿里雲Redisspa

數據庫的數量,日誌的等級,端口,密碼等,存到磁盤,是否壓縮存儲,存放位置,數據庫文件名。

 

三、數據類型

支持5種數據類型。字符串類型,hash類型,list類型,集合類型,有序集合類型。

Exists key

 

3.1String 512M最大。

設置key存在,同名會覆蓋,過時時間也會覆蓋。

Set test 「CBI」

Get test

Get Range test 0 1      -1 -2 倒着截取

GetSet test value 一個原子

MSet key1 value1 key2 value2

MGet key1 key2

Strlen key

SetRange key

SetNX key value不存在才能成功

SetEX key seconds value 過時時間是秒

TTL key 看生存時間

MSetNX 多個不存在,正確就都正確,原子性

PSetEX 以毫秒爲單位

PTTL key 看生存時間毫秒

INCR key 直接+1

INCRBY key value(增量)

INCRBYFLOAT key value(浮點增量)

DECR key

DECRBY key 指定增量

APPEND key value字符串末尾追加新值

 

3.2hash 存對象

HSet key field value

HGet key field value

HSetNX key field value 若是不存在,nx

HMset key field1 value1 field2 value2 一次建好一個hash,建一個field有部分重合的

HMget

Hgetall key 返回key中的全部的field value

Hkeys key

HVals key

HExists key field

HLen key

HINCRBY key field value數值能夠

HINCRBYFLOAT key field value

HDEL KEY FIELD FIELD 能夠刪除多個

 

3.2key相關的命令

Keys pattern 。   

*匹配任意個

?匹配任意一個

[]匹配方括號之間的一個字符

\x匹配特殊字符

Keys *c?

 

Exists key

TYPE key

EXPIRE key seconds

EXPIREAT key timestamp

PEXPIRE key seconds 毫秒

PEXPIREAT key timestamp

TTL key 返回生命週期

PTTL key

PERsist key 不過時

DEL key key key 能夠刪除多個

Randomkey

Rename key newkey

renameNX key newkey 不存在的時候生效

DUMP key 序列化給定的key,返回序列化以後的值

RESTORE key tt value反序列化

MOVE key dbid key移動到另外的庫中 select 0 0號數據庫

 

3.4)列表

最新的100條,熱點新聞,列表很快

LPUSH 向左端添加一個原色

Lpush key value value value 。。。。

Lrange key int int

Rpush 從右邊添加

LPUSHX 從左邊添加,若是存在的話

RPUSHX

LPOP 彈出左邊第一個

RPOP

LLEN list長度

LREM key count value  複雜一點 count3種狀況 》0 0 = 0

LINDEx key index

LSET key index value

LTRIM key start stop 只保留

LInsert key before/after pivot value

RPOPLPUSH list1 list2從一個列表轉入到另一個列表

BLPOP LPOP的阻塞版本

 

3.5Set 集合類型 無序集合 集合不能重複

Sadd key member member

SMembers key

SISmember key value

SRem key value

SPOP key value 刪除並返回一個隨機元素

Srandmember key count  count大於 正數 負數 不一樣結果

SDiff key1 key2 不在的,由左向右

Sinter key1 key2 交集

Sunion key1 key2 並集

Scard key 返回個數

Sdiffstore newkey key1 key2差集結果保存到指定集合中

SInterstore newkey key1 key2

SUnion newkey key1 key2

Smove oldkey newkey member 將原來的一個元素移動到新集合中

 

3.6ZSet 有序集合 耗一點內存

ZAdd key score member +inf正無窮大 -inf 負無窮大 分數相同 ascii

ZScore key member

Zrange key strat stop [withscores]返回分數區間的值,按照從小到大

ZREVrange key start stop 按照從大到小

Zrangebyscore key start stop

Zrevrangebyscore key start stop 從大到小

Zincrby key incr member

Zcard key 返回總數

Zcount key min max 返回區間的數量

ZRem key member

ZREMrangebyrank key start stop 按照排名區間刪除,從小到大

ZREMrangebyscore key start stop 按照分數區間刪除

Zrank key member

Zrevrank key member

ZinterStore newkey count key1 key2 [weights weight weight]分數乘以權重 [aggregate]交集score默認求和

ZunionStore newkey ount key1 key2 [weights weight weight]分數乘以權重 [aggregate]交集score默認求和

 

四、Redis中的事務

4.1Multi開啓事務 開啓之後,事務塊中多條會變成一個事務執行,用EXEC執行

4.2EXEC執行命令

4.3)監視一個或者多個key WATCHkey在執行以前被其餘命令改動,則取消事務

4.4UNwatch 取消對key的監視

4.5discard 取消事務

4.6)事務中的錯誤處理。語法錯誤不執行;運行時錯誤,其餘命令仍然能夠被執行。

 

五、redis鏈接相關

5.1ping pong

5.2echo string

5.3quit

5.4shundown

5.5auth pwd指定身份驗證 config set requirepass pwd

5.6select 選擇數據庫

 

六、生存時間

Expire expireat pexpire persist TTL PTTL

Session的保存。

 

七、性能測試

redis-benchmark -n 10000

 

八、排序

8.1

SORT key ASC/DESC 默認對數字排序

SORT key alpha

漢字識別UTF-8

8.2

Limit

Sort key alpha limit 0 5 [desc]

8.3)根據外部key的權重排序

Sort key by otherkey

8.4)根據排序結果取出鍵值

 

九、管道技術

TCP協議。

相關文章
相關標籤/搜索