主頁 > 資料庫 > redis 安裝、常用資料結構以及相關命令

redis 安裝、常用資料結構以及相關命令

2020-09-12 00:57:13 資料庫

一、redis 簡介

1、什么是 redis?

  redis 是一個開源免費的高性能的 key - value 資料庫,
  支持資料持久化,即可以將記憶體的資料存盤在磁盤中,重啟服務后可以再次加載磁盤中的資料并使用,
  支持多種型別,比如:String(字串)、List(串列)、Set(集合)、zset(有序集合)、Hash(散列) 等,
  支持資料備份,主從模式的資料備份(master - slave),
  redis 所有操作都是原子性的,即要么成功執行,要么不執行,
官網:
  https://redis.io/

 

2、安裝 redis

(1)使用 docker 安裝、使用 redis

【參考地址:(Linux(CentOS7) 上安裝 docker)】
    https://www.cnblogs.com/l-y-h/p/12622730.html#_label0
    
【參考地址:(ocker 安裝 Redis)】
    https://www.cnblogs.com/l-y-h/p/12622730.html#_label6

 

(2)Centos7 編譯安裝 redis 5.0.8
  Step1:下載 redis 包,

【官網下載地址:】
    https://redis.io/download
    http://download.redis.io/releases/redis-5.0.8.tar.gz
    
【在 Linux 內部直接下載:】
    [root@localhost local]# wget http://download.redis.io/releases/redis-5.0.8.tar.gz

  

  Step2:解壓、編譯,

【解壓:】
    [root@localhost local]# tar -zxvf redis-5.0.8.tar.gz 
    
【進入解壓后的目錄,并編譯(前提 系統內部已經安裝了 gccmake 等程式):】
    [root@localhost local]# cd redis-5.0.8/
    [root@localhost local]# make
    
【編譯完后:進入 src 目錄,可以看到 redis-server、redis-cli 等程式】
    [root@localhost redis-5.0.8]# cd src/

 

 

 

  Step3:開啟服務程式(redis-server),并使用內置客戶端( redis-cli) 進行互動,

【開啟服務程式(redis-server):】
    方式一: 
        ./redis-server       根據默認組態檔啟動 redis
    方式二:
        ./redis-server   ../redis.conf      根據指定的組態檔(可以自定義組態檔位置)啟動 redis

【開啟客戶端進行互動(redis-cli):】
    ./redis-cli

  通過 xShell 使用一個連接以前臺模式啟動一個 redis 服務,

 

 

 

  另開一個 xShell 連接,執行 redis-cli,在安裝包的 src 目錄下 執行 ./redis-cli,

 

 

 

   Step4:關閉服務

【在 redis-cli 中輸入指令】
    [root@localhost src]# ./redis-cli shutdown

 

 

 

3、redis 可視化工具下載

(1)官網下載(要收費的)
  地址:https://redisdesktop.com/pricing

 

 

 

(2)破解版下載(白嫖)
  鏈接:https://pan.baidu.com/s/1v3ZJEdzEGBIf5gYGsyhRBw
  提取碼:ubhz
或者
  http://www.downza.cn/soft/210734.html

 

 

 

 

 

 

 

 

 

二、redis 中 鍵(key) 相關命令

  命令不區分大小寫,但資料區分大小寫,

1、keys(用于查看 key 串列)

【格式:】
    keys pattern         用于查找 匹配 pattern 格式的 key

【舉例:】
    127.0.0.1:6379> keys *

 

 

 

2、del(用于洗掉某個鍵)

【格式:】
    del key           當 key 存在時,洗掉 key,回傳 1,key 不存在時,忽略,回傳 0,
    
【舉例:】
    127.0.0.1:6379> del a

 

 

 

3、exists(判斷某個鍵是否存在)

【格式:】
    exists key          用于判斷某個 key 是否存在,存在回傳 1,不存在回傳 0
    
【舉例:】
    127.0.0.1:6379> exists b

 

 

 

4、type(回傳指定 key 存盤值的型別)

【格式:】
    type key          用于判斷某個 key 的型別

【舉例:】
    127.0.0.1:6379> type c

 

 

 

5、rename、renamenx(用于給 key 修改名字)

【rename 格式:】
    rename old_key_name new_key_name      用于修改 key 名,
注:
    若 old_key_name 不存在時,會回傳一個錯誤,
    若 new_key_name 存在時,則覆寫舊值,回傳 OK, 

【renamenx 格式:】
    renamenx old_key_name new_key_name      用于修改 key 名
注:
    若 old_key_name 不存在時,會回傳一個錯誤,
    若 new_key_name 存在時,則不會修改,回傳 0, 

【舉例:】
    127.0.0.1:6379> rename a e
    127.0.0.1:6379> renamenx a e

 

 

 

 

 

 

6、randomkey(隨機回傳當前庫的一個 key)

【格式:】
    randomkey          隨機回傳當前庫中的 一個 key,若當前庫沒有資料,則回傳 null,

【舉例:】
    127.0.0.1:6379> randomkey

 

 

 

三、redis 資料型別 -- String 以及常用命令

1、String(字串)

  最基本的 型別,一個 key 對應 一個 value,
  是二進制安全的,可以存盤任何資料(比如圖片),存盤最大值為 512 MB,

2、set(給指定 key 設定一個 String 型別的 value,無視型別直接覆寫)

【格式:】
    set key value              給 key 設定一個 value 值,
    
【舉例:】
     127.0.0.1:6379> set b world

 

 

 

3、get(獲取指定 key 的 value 值)

【格式:】
    get key          用于回傳 key 的值,
注:
    若 key 不存在,則回傳 null,
    若 key 存盤的不是 string 型資料,則回傳一個錯誤
    
【舉例:】
    127.0.0.1:6379> get b

 

 

 

4、getrange(截取 key 存盤的 value 的指定位置的字串)

【格式:】
    getrange key start end         截取字串,包括 start、end(從 0 開始計數),
    
【舉例:】
    127.0.0.1:6379> getrange a 0 -1
    127.0.0.1:6379> getrange a 3 7

 

 

 

5、getset(設定指定 key 的 value 值)

【格式:】
    getset key value      設定指定 key 的 value 值
注:
    當 key 不存在時,回傳 null
    當 key 的 value 不是 string 型時,回傳 一個錯誤(與 set 有區別),

【舉例:】
    127.0.0.1:6379> getset a world

 

 

 

6、mget(一次獲取多個 key 的 value 值)

【格式:】
    mget key1 [key2]                  一次獲取多個 key 的值
注:
    若 key 的 value 不屬于 string,會回傳 null,
    若 key 不存在,回傳 null,

【舉例:】
    127.0.0.1:6379> mget a b  

 

 

 

7、mset、msetnx(一次設定多個 key - value 鍵值對)

【mset 格式:】
    mset key1 value1 [key2 value2]       一次設定多個 key - value 鍵值對
    
【msetnx 格式:】
    msetnx key1 value1 [key2 value2]       一次設定多個 key - value 鍵值對
注:
    key 不存在時才能成功設定,
    
【舉例:】
    127.0.0.1:6379> mset a hello b world
    127.0.0.1:6379> msetnx c java d python

 

 

 

8、setnx(當 key 不存在時,設定值)

【格式:】
    setnx key value       添加一個 從不存在的 key - value 鍵值對
注:
    若 key 存在,則不會設定 value 值,回傳 0.
    若 key 不存在,則設定 value 值,回傳 1.

 

 

 

9、append(給指定 key 的 value 追加字串)

【格式:】
    append key value       給指定 key 追加字串
注:
    若 key 不存在,則等同于 set key value.
    若 key 存在,則 向其 value 末尾 追加 字串,

【舉例:】
    127.0.0.1:6379> append a world

 

 

 

10、incr、incrby、decr、decrby(增加、減少 數值型別的 value 值)

【格式:】
    incr key                給 key 的 value 加 1
    incrby key value        給 key 的 value 加 指定的 value 
    decr key                給 key 的 value 減 1
    decrby key value        給 key 的 value 減 指定的 value
注:
    value 的值必須是能轉為 數值 型的字串才可以成功執行

【舉例:】
    127.0.0.1:6379> incr b
    127.0.0.1:6379> decr b
    127.0.0.1:6379> incrby b 20
    127.0.0.1:6379> decrby b 10

 

 

 

11、strlen(獲取指定 key 的 value 字串的長度)

【格式:】
    strlen key         獲取 指定 key 的 value 存盤的 字串的長度
    
【舉例:】
    127.0.0.1:6379> strlen a

 

 

 

四、redis 資料型別 -- Hash 以及常用命令

1、Hash(散列、哈希)

  是一個 string 型別 key(指哈希表名) 的 field - value 集合,適合用于存盤物件,
  可以存盤 2^32 -1 個 key - value 鍵值對,

2、hkeys(獲取指定哈希表 key 的 所有的欄位 field)

【格式:】
    hkeys key      用于獲取指定 key 的所有 field,
注:
    若 key 不存在,則提示一個空串列資訊,

【舉例:】
    127.0.0.1:6379> hkeys test

 

 

 

3、hset(給 哈希表中的 欄位 賦值)

【格式:】
    hset key field value     給 key 這個哈希表的 field 欄位 賦值 為 value,
注:
    若 key 不存在,則會創建,
    若 field 重復,則新值會覆寫舊值,

【舉例:】
    127.0.0.1:6379> hset test a helloworld

 

 

 

4、hmset(同時設定 多個 field - value 到指定的 key 中)

【格式:】
    hmset key field1 value1 [field2 value2]      同時設定多個 field - value 對到 哈希表 key 中
注:
    若 field 重復,則新值覆寫舊值,

【舉例:】
    127.0.0.1:6379> hmset test a hello d world

 

 

 

5、hget、hmget、hgetall(獲取哈希表 key 的 field - value值)

【hget 格式:】
    hget key field         用于回傳 指定哈希表 key 中指定 欄位 field 的 value 值
    
【hmget 格式:】
    hmget key field1 [field2]    用于一次回傳一個或多個 field 的 value 值
    
【hgetall 格式:】
    hgetall key            回傳指定 key 下所有 的 field -value
    
【舉例:】
    127.0.0.1:6379> hget test a
    127.0.0.1:6379> hmget test a b c e
    127.0.0.1:6379> hgetall test

 

 

 

6、hvals(獲取指定 key 下所有的 field 對應的 value)

【格式:】
    hvals key           回傳指定 key 下所有的 field 對應的 value 值
    
【舉例:】  
    127.0.0.1:6379> hvals test

 

 

 

7、hlen(獲取指定 key 中 field 的數量)

【格式:】
    hlen key       獲取 指定 哈希表 key 中 field 的總數

【舉例:】
    127.0.0.1:6379> hlen test

 

 

 

8、hdel (洗掉指定 key 中一個或多個 field)

【格式:】
    hdel key field1 [field2]     洗掉指定哈希表 key 中 指定的 field 欄位
    
【舉例:】
    127.0.0.1:6379> hdel test a

 

 

 

9、hexists(判斷指定 key 中是否存在 field)

【格式:】
    hexists key field      判斷指定哈希表 key 中是否存在 field,不存在回傳 0,存在回傳 1,

【舉例:】
    127.0.0.1:6379> hexists test a

 

 

 

五、redis 資料型別 -- List 以及常用命令

1、List(串列)

  是字串 的串列,按照插入順序排序,一個 key 對應 多個 value,
  可以存盤 2^32 - 1 個 value 元素,

2、lpush、lpushx(將一個或多個值插入串列的頭部)

【lpush 格式:】
    lpush key value1 [value2]          
注:
    將 value 插入 串列的頭部,若 key 不存在,則創建一個 key

【lpushx 格式:】
    lpush key value1 [value2]         
注:
    將 value 插入 串列的頭部,若 key 不存在,則添加失效,并回傳一個 空串列資訊,
            
【舉例:】
    127.0.0.1:6379> lpush test 1 2
    127.0.0.1:6379> lpushx test 3 4

 

 

 

3、rpush、rpushx(將一個或多個值插入串列的尾部)

【rpush 格式:】
    rpush key value1 [value2]          
注:
    將 value 插入 串列的頭部,若 key 不存在,則創建一個 key

【rpushx 格式:】
    rpush key value1 [value2]         
注:
    將 value 插入 串列的頭部,若 key 不存在,則添加失效,并回傳一個 空串列資訊,
            
【舉例:】
    127.0.0.1:6379> rpush test 1 2
    127.0.0.1:6379> rpushx test 3 4

 

 

 

4、lrange(回傳指定范圍的 list 串列)

【格式:】
    lrange key start end
注:
    回傳指定范圍 內的 list 串列,其中 -1 表示倒數第一個數,0 表示第一個數

【舉例:】
    127.0.0.1:6379> lrange test 0 -1
    127.0.0.1:6379> lrange test -3 3

 

 

 

5、llen(獲取串列的長度)

【格式:】
    llen key 
注:
    回傳一個串列的長度,若 key 不存在,則回傳 0 ,

【舉例:】
    127.0.0.1:6379> llen test

 

 

 

6、lindex(用于獲取串列中指定下標的元素)

【格式:】
    lindex key index
注:
   回傳 list 中指定下標 index 的元素,其中 -1 表示倒數第一個數,0 表示第一個數

【舉例:】
    127.0.0.1:6379> lindex test 0
    127.0.0.1:6379> lindex test -1

 

 

 

7、lpop(從串列頭部移除第一個元素)

【格式:】
    lpop key         從 key 頭部移除第一個元素,key不存在時回傳 null
    
【舉例:】
    127.0.0.1:6379> lpop test

 

 

 

8、rpop(從串列的尾部移除最后一個元素)

【格式:】
    rpop key         從 key 尾部移除最后一個元素,key不存在時回傳 null
    
【舉例:】
    127.0.0.1:6379> rpop test

 

 

 

9、lset(通過 串列的下標去設定 元素值)

【格式:】
    lset key index value
注:
    設定 list 中指定下標 index 的元素,其中 -1 表示倒數第一個數,0 表示第一個數

【舉例:】
    127.0.0.1:6379> lset test 0 hello

 

 

 

10、ltrim(截取串列中指定范圍的元素)

【格式:】
    ltrim key start end
注:
    截取串列中指定范圍的元素,不在范圍的元素會洗掉,其中 -1 表示倒數第一個數,0 表示第一個數
    
【舉例:】
    127.0.0.1:6379> ltrim test 1 3

 

 

 

六、redis 資料型別 -- Set 以及常用命令

1、Set(集合)

  是字串 的無序集合,元素不重復且無序,
  一個 key 對應 多個 value,可以存盤 2^32 -1 個 value 元素,

2、sadd(添加一個或多個元素到集合中)

【格式:】
    sadd key value1 [value2]
注:
    添加一個或多個元素到集合key 中,重復元素不會被添加,
            
【舉例:】
    127.0.0.1:6379> sadd test 1 2 3 1 2

 

 

 

3、smembers(用于回傳集合的所有元素)

【格式:】
    smembers key
注:
    回傳指定集合 key 的所有元素,若 key 不存在,回傳 (empty list or set)
    
【舉例:】
    127.0.0.1:6379> smembers test

 

 

 

4、scard(用于回傳當前集合中元素的個數)

【格式:】
    scard key
注:
    回傳指定 key 的元素的個數,
    
【舉例:】
    127.0.0.1:6379> scard test

 

 

 

5、sismember(判斷集合中是否包含某元素)

【格式:】
    sismember key value
注:
    判斷集合 key 中是否存在 某元素 value
    
【舉例:】
    127.0.0.1:6379> sismember test 4

 

 

 

6、srem(移除一個或多個元素)

【格式:】
    srem key value1 [value2]
注:
    移除一個或多個元素,根據值來匹配,
    
【舉例:】
    127.0.0.1:6379> srem test 2 3 4

 

 

 

7、spop(隨機移除一個或多個元素)

【格式:】
    spop key [count]
注:
    count 表示 移除的元素個數,默認為 1,若 key 不存在,回傳 null,
        
【舉例:】
    127.0.0.1:6379> spop test 6
    127.0.0.1:6379> spop test

 

 

 8、srandmember(隨機回傳一個或多個元素)

【格式:】
    srandmember key [count]

【舉例:】
    127.0.0.1:6379> srandmember test 4

 

 

 

9、smove(將指定元素從一個集合移動到另一個集合)

【格式:】
    smove source destination member
注:
    將 member 元素 從 source 集合 移動到 destination 集合中,

【舉例:】
    127.0.0.1:6379> smove test test1 4

 

 

 

七、redis 資料型別 -- zSet 以及常用命令

1、zset(有序集合)

  是字串 的有序集合,元素不重復且有序,
  內部維護一個 double 型別的分數,根據該值對元素進行排序,double 值可以重復,
  一個 key 對應 多個 value,可以存盤 2^32 - 1 個 value 元素,

2、zadd(添加一個或多個元素到集合中)

【格式:】
    zadd key score1 value1 [score2 value2]
注;
    score 為指定的整數或分數,用來排序,
    添加一個或多個元素到集合中,若已存在元素,則會覆寫舊的 score,

【舉例:】
    127.0.0.1:6379> zadd test 2 hello 1 world 3 helloworld

 

 

3、zrange、zrevrange(回傳指定范圍的集合元素)

【zrange 格式:】
    zrange key start end [withscores]
注:
    按照元素的 score 增序排列,
    withscores 表示顯示 元素的 score,
    其中 -1 表示倒數第一個數,0 表示第一個數,

【zrevrange 格式:】
    zrevrange key start end [withscores]
注:
    按照元素的 score 降序排列,

【舉例:】    
    127.0.0.1:6379> zrange test 0 -1
    127.0.0.1:6379> zrange test 0 -1 withscores

 

 

 

 

4、zcard、zcount(獲取集合中元素的個數)

【zcard 格式:】
    zcard key
注:
    獲取指定 key 的所有元素的個數

【zcount 格式:】
    zcount key min max
注:
    獲取指定 key 的 指定 分數范圍內的元素的個數,

【舉例:】
    127.0.0.1:6379> zcard test
    127.0.0.1:6379> zcount test 1.5 4.6

 

 

5、zscore(回傳指定元素的 score 分數值)

【格式:】
    zscore key member
注:
    回傳指定 member 在 指定 key 中的 score.
    
【舉例:】
    127.0.0.1:6379> zscore test hello

 

 

6、zrem(移除一個或多個元素)

【格式:】
    zrem key member1 [member2]
注:
    從集合中移除 一個 或 多個 member,
    
【舉例:】
    127.0.0.1:6379> zrem test world hello

 

 

7、zrank、zrevrank(獲取指定元素在集合中的排名)

【zrank 格式:】
    zrank key member
注:
    按照 score 升序排列,并回傳 member 在此序列中的排名,
    其中,0 表示第一名,依次遞增,

【zrevrank 格式:】
    zrevrank key member
注:
    按照 score 降序排列,并回傳 member 在此序列中的排名,

【舉例:】
    127.0.0.1:6379> zrank test java
    127.0.0.1:6379> zrevrank test java

 

 

8、zremrangebyrank、zremrangebyscore(按照指定的范圍移除元素)

【zremrangebyrank 格式:】
    zremrangebyrank key start end
注:
    按照 排名,移除 [start, end] 區間內的元素,

【zremrangebyscore 格式:】
    zremrangebyscore key min max
注:
    按照 分數值,移除 [min, max] 區間內的元素    
    
【舉例:】
    127.0.0.1:6379> zremrangebyrank test1 2 3
    127.0.0.1:6379> zremrangebyscore test2 2 100

 

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/8771.html

標籤:NoSQL

上一篇:求一簡單分類計算sql陳述句

下一篇:SpringBoot整合Redis

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more