學習redis經常使用命令

1.開啓服務和客戶端

 

image-20200723232544524

 

如何查看redis進程?java

第一種git

 

image-20200723232951677

 

第二種redis

 

image-20200723233027748

2.基礎知識

redis有16個數據庫,依次索引爲0~15數據庫

默認是第一個數據庫,也就是索引爲0服務器

怎麼知道的呢?去查看 redis-config 配置文件網絡

 

image-20200723233501769

 

那麼若是想切換數據庫,怎麼辦呢?多線程

使用select 索引數字app

 

image-20200723233833615

 

怎麼查看數據庫的大小呢?性能

使用dbsize大數據

 

image-20200723234518281

 

注:flushall 清空全部數據庫的數據

flushdb 清空當前數據庫

keys * 查看當前數據庫全部的key

 

redis是單線程仍是多線程?

是單線程!!

redis是基於內存操做,CPU不是redis性能瓶頸,redis的性能瓶頸是根據機器的內存和網絡帶寬,既然可使用單線程來實現,就使用單線程了!

redis 是C語言寫的,官方提供的數據爲十萬+的QPS,徹底不比一樣是使用key-value的Memecache差!

redis單線程爲何還那麼快?

誤區1:高性能的服務器必定是多線程的?

誤區2:多線程(CPU上下文會切換)必定比單線程效率高?

先要了解 CPU>內存>硬盤的速度

核心:redis是將全部的數據所有放在內存中的,因此說使用單線程去操做效果是最高的,多線程(CPU上下文會切換:耗時的操做!!!),對於內存系統來講,沒有上下文切換,效率就是最高的!屢次讀寫都是在一個CPU上的,在內存狀況下,這個就是最佳的方案!

 

 

3.五大數據類型

1.redis-key

 

image-20200724000851636

 

設置key的過時時間(秒)

 

image-20200724001506642

怎麼查看key值類型?

type key

怎麼把當前數據庫的key 移動到 別的數據庫?

move key 數據庫索引數字

 

image-20200724002248055

 

2.String

若是想在type類型爲String的value後面追加字符串,該怎麼辦呢?

使用 append key 想追加的字符串

 

image-20200724183842937

 

若是想看看value的長度呢?

使用 strlen key

 

image-20200724184049527

 

文章的瀏覽量或者視頻的播放量,若是用redis怎麼實現呢?

至關於實現自增 value++

使用 incr key

 

image-20200724230931144

 

同理 自減 就使用 decr key

 

那麼若是是想實現步長(指定增量)呢?

至關於實現 value+= value -=

使用 incrby key 步長數字

decrby key 步長數字

 

image-20200724231624292

 

那麼若是想獲得字符串的某部分呢?

也就是截取,至關於java的字符串的substring()方法

使用getrange key 開始索引數字 結束索引數字

 

image-20200724233533580

 

若是想替換字符串的某部分呢?

使用setrange key 開始索引數字

 

image-20200724234147474

相關文章
相關標籤/搜索