redis其他類型和配置文件

很多博客只講了五大基本類型,確實,是最常用的,而且百分之九十的程序員對于Redis只限于了解String這種最常用的。但是我個人認為,既然Redis官方提供了其他的數據類型,肯定是有相應的考量的,在某些特殊的業務場景中,這些特殊的類型還是能夠給我們多一種解決思路!
Geospatial: 地理位置
georadius(查詢附近位置)操作
再Redis中,可能會有一定的誤差性。 官方給出的誤差率是0.81%。
如果在實際業務中,允許一定的誤差值,我們可以使用基數統計來計算~效率非常高

Hyperloglog:?基數

Bitmap:?位存儲

127.0.0.1:6379> setbit login 1 1   #添加周一已登陸 為1
(integer) 0
127.0.0.1:6379> setbit login 2 1
(integer) 0
127.0.0.1:6379> setbit login 3 1
(integer) 0
127.0.0.1:6379> setbit login 4 0  #添加周四已登陸 為0
(integer) 0
127.0.0.1:6379> setbit login 5 0
(integer) 0
127.0.0.1:6379> setbit login 6 1
(integer) 0
127.0.0.1:6379> setbit login 7 0
(integer) 0
127.0.0.1:6379> getbit login 1  #獲取周一是否登錄
(integer) 1
127.0.0.1:6379> getbit login 4  #獲取周四是否登陸
(integer) 0
127.0.0.1:6379> bitcount login  #統計這周登陸的天數
(integer) 4

總結:實際需求中,可能需要我們統計用戶的登陸信息,員工的打卡信息等等。只要是事務的只有兩個狀態的,我們都可以用Bitmap來進行操作!!!

您提供的是一個Redis服務器的配置文件內容。以下是對每項配置的中文解釋:

- **bind 0.0.0.0**:Redis監聽所有可用的網絡接口(包括本地回環和所有外部網絡接口)。

- **protected-mode no**:關閉保護模式,這允許從任何主機連接到Redis,除非進一步配置了訪問控制(如密碼)。

- **port 6379**:設置Redis監聽的端口號。

- **tcp-backlog 511**:設置TCP連接的backlog隊列大小。這通常設置為高于一般系統默認值以處理大量連接。

- **timeout 0**:客戶端空閑時間(秒),0表示關閉這個功能,不會斷開空閑連接。

- **tcp-keepalive 300**:TCP連接保持活躍的時間間隔(秒),用于檢測對方是否還保持連接狀態。

- **daemonize yes**:Redis以守護進程的方式運行,即在后臺運行。

- **pidfile /var/run/redis_6379.pid**:當Redis以守護進程方式運行時,PID文件的路徑。

- **loglevel notice**:日志級別設置為notice,適度詳細的日志級別,通常用于生產環境。

- **logfile "./redis.log"**:日志文件的路徑。相對路徑表示在當前工作目錄下。

- **databases 16**:設置數據庫的數量。Redis默認有16個數據庫(編號0-15)。

- **always-show-logo no**:啟動時是否顯示Redis的ASCII藝術LOGO。

- **set-proc-title yes**:是否設置進程標題,這有助于監控和識別Redis實例。

- **proc-title-template "{title} {listen-addr} {server-mode}"**:設置進程標題的格式。

- **stop-writes-on-bgsave-error yes**:如果后臺保存(BGSAVE)出錯,停止寫入操作。

- **rdbcompression yes**:對RDB文件進行壓縮。

- **rdbchecksum yes**:在寫入RDB文件時,加入CRC64校驗和,以增加數據完整性檢查。

- **dbfilename dump.rdb**:RDB文件的名稱。

- **rdb-del-sync-files no**:在完成RDB文件保存后,是否刪除舊的RDB文件。

- **dir ./**:工作目錄,RDB文件和AOF文件將保存在此目錄。

- **masterauth abc123**:如果Redis作為從節點,當連接到主節點時使用的密碼。

- **replica-serve-stale-data yes**:如果從節點與主節點失去連接,是否繼續提供可能過期的數據。

- **replica-read-only yes**:從節點是否為只讀。

- **repl-diskless-sync no**:是否啟用無盤復制(直接從主節點復制到從節點內存,不經過磁盤)。

- **repl-diskless-sync-delay 5**:無盤復制的延遲時間(秒)。

- **repl-disable-tcp-nodelay no**:是否在復制連接上禁用TCP_NODELAY選項。

- **replica-priority 100**:從節點的優先級,用于Sentinel(哨兵)系統選擇新的主節點- **acllog-max-len 128**:ACL日志的最大長度。

- **requirepass abc123**:設置連接Redis所需的密碼。

- **lazyfree-lazy-* no**:一系列關于是否異步釋放數據的配置,全部設置為否意味著數據釋放是同步的。

- **oom-score-adj no** 和 **oom-score-adj-values 0 200 800**:調整Redis在OOM(Out of Memory) killer下的優先級。設置為no表示不調整。

- **disable-thp yes**:禁用透明大頁(Transparent Huge Pages),這通常可以減少內存碎片。

- **appendonly no**:是否啟用AOF(Append Only File)持久化模式。

- **appendfilename "appendonly.aof"**:AOF文件名。

- **appendfsync everysec**:AOF文件的fsync策略,每秒同步一次。

- **no-appendfsync-on-rewrite no**:在AOF重寫期間,是否在每次寫入后調用fsync。

- **auto-aof-rewrite-percentage 100** 和 **auto-aof-rewrite-min-size 64mb**:自動AOF重寫的條件,基于文件大小增長百分比和最小文件大小。

- **aof-load-truncated yes**:如果AOF文件結尾損壞,啟動時是否加載這個文件。

- **aof-use-rdb-preamble yes**:AOF文件是否以RDB格式開始,這使得AOF文件可以兼容RDB的加載方式。

- **lua-time-limit 5000**:Lua腳本的最大執行時間(毫秒)。

- **slowlog-log-slower-than 10000**:定義什么是慢查詢(微秒),超過此時間的查詢將被記錄。

- **slowlog-max-len 128**:慢查詢日志的最大長度。

- **latency-monitor-threshold 0**:延遲監控閾值(毫秒),0表示用。

- **notify-keyspace-events ""**:鍵空間通知的事件類型,空字符串表示不通知。

- **hash-max-ziplist-entries 512** 和 **hash-max-ziplist-value 64**:哈希數據結構使用ziplist的閾值。

- **list-max-plist-size -2** 和 **list-compress-depth 0**:列表數據結構的配置,影響列表的存儲和壓縮方式。

- **set-max-intset-entries 512**:集合數據結構使用intset的閾值。

- **zset-maxziplist-entries 128** 和 **zset-max-ziplist-value 64**:有序集合使用ziplist的閾值。

- **hll-sp-max-bytes 3000**:HyperLogLog稀疏表示的最大字節數。

- **stream-node-max-bytes 4096** 和 **stream-node-max-entries 100**:流數據結構的節點大小限制。

- **activerehashing yes**:是否啟用主動rehashing。

- **client-output-buffer-limit**:不同類型客戶端(普通、副本、發布訂閱)的輸出緩沖區限制。

- **hz 10**:Redis調用內部函數檢查空閑連接和執行其他周期性操作的頻率。

- **dynamic-hz yes**:是否動態調整hz值,根據客戶端連接的活躍度。

- **aof-rewrite-incremental-fsync yes**:在AOF重寫時,是否增量調用fsync。

- **rdb-save-incremental-fsync yes**:在RDB保存時,是否增量調用fsync。

- **jemalloc-bg-thread yes**:是否使用jemalloc后臺線程來管理內存,這有助于減少內存碎片和提高性能。

Jedis是Redis官方推薦的Java連接開發工具!
雖然現在的SpringBoot2.×版本已經將Jedis換成了Lettuce
行家有木有!出手就知道啊!
Redis配置對大小寫不敏感!

主從復制,是指將一臺Redis服務器的數據,復制到其他的Redis服務器。前者稱為主節點(master/leader),后者稱為從節點(slave/follower);數據的復制是單向的,只能由主節點到從節點。Master以寫為主,Slave 以讀為主。
在Redis集群中我們講到了,主機斷開后,我們得手動設置另一個從機變成主機!這是不智能的!在實際工作中,我們都是用哨兵模式來自動切換主機。通俗點講,就是自己去選擇‘大哥’!
哨兵集群,基于主從復制模式 ,所有的主從配置優點,它全有
戶需要查詢一個數據,但是redis中沒有(比如說mysql中id=-1的數),直接去請求MySQL

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/45663.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/45663.shtml
英文地址,請注明出處:http://en.pswp.cn/web/45663.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++相關概念和易錯語法(22)(final、純虛函數、繼承多態難點)

1.final final在繼承和多態中都可以使用,在繼承中是指不想將自己被繼承,在多態中是指不想該函數被重寫,比較簡單,下面是一些使用例子。 2.純虛函數 當我們需要抽象一個類的時候,我們就需要用到純虛函數。所謂抽象的類…

C# 4.0 等待線程結束

在C#中,如果你正在使用多線程編程,并且想要等待一個或多個線程完成它們的工作再繼續執行,有幾種方式可以實現。從C# 4.0開始,雖然直接用于等待線程結束的特性(如Thread.Join())在之前的版本中也已經存在&am…

升級版凱撒密碼加密解密器

目錄 開頭程序程序的流程圖程序加密與解密的效果例1加密的過程加密之后的文本 例2解密之后的文本解密之后的文本 例3加密之后的文本加密之后的文本 結尾 開頭 大家好,我叫這是我58。今天,我們來看一下我用C語言編譯的升級版凱撒密碼加密解密器和與之相關…

小程序 - - - - - 實現漸隱漸顯(監聽滾動距離版)

代碼如下&#xff1a; <!-- fixed-left --> <view class"fixed-box" animation"{{animationData}}">這里是漸隱漸顯的標簽 </view>.fixed-box {position: fixed;left: 0;top: 0;z-index: 999;background-color: #ccc;/* background-colo…

如何設計統計量及相關假設檢驗

一、如何設置H0和H1假設 誰做H0&#xff0c;誰做H1&#xff0c;在統計學的假設檢驗里是有約定俗成的規定的。即&#xff1a;status quo&#xff08;默認/現狀&#xff09;是H0&#xff0c;而新觀點或試圖challenge現狀的是H1。H1也叫research hypothesis&#xff0c;所以我們做…

【多個Python版本存在,使用pip+不同版本安裝庫時,windows彈出打開方式窗口的解決方法】

問題描述 電腦上存在python3.9&#xff0c;3.10&#xff0c;3.11&#xff0c;安裝順序也是先安裝3.9&#xff0c;然后3.10&#xff0c;最后3.11&#xff0c;那么直接使用pip安裝&#xff0c;會裝在3.11的位置&#xff0c;經過搜索可以通過pip版本&#xff0c;比如pip3.9 insta…

1.3- Zygote

第三節 Zygote 在Android系統中&#xff0c;Zygote是一個非常核心的組件&#xff0c;它扮演著孵化新應用程序進程的角色。Zygote是Android啟動過程中創建的第一個Java虛擬機&#xff08;JVM&#xff09;實例&#xff08;在Android中稱為Dalvik或ART虛擬機&#xff0c;取決于An…

如何在勒索軟件攻擊中幸存下來:最佳備份實踐、勒索攔截方案

無論身處什么業務或行業&#xff0c;數據都是您業務的關鍵資產。沒有針對數據進行安全可靠的備份保護&#xff0c;您將會受到許多“可能性”的威脅&#xff0c;無論數據丟失是由于在鍵盤上灑了飲料還是遭受到了勒索軟件的攻擊。 為了確保業務不被中斷&#xff0c;企業數據不會…

Python: 初識Python

文章目錄 1. Python的背景知識1.1 Python是咋來的?1.2 Python的特點1.3 Python能干啥?1.4 Python的缺點 2. 搭建Python環境2.1 安裝Python2.2 安裝PyCharm2.3 用pycharm編寫python程序 1. Python的背景知識 1.1 Python是咋來的? 由Guido van Rossum于1989年圣誕節為打發無…

一個用于管理多個 Node.js 版本的安裝和切換開源工具

大家好&#xff0c;今天給大家分享一個用于管理多個Node.js版本的工具 NVM&#xff08;Node Version Manager&#xff09;&#xff0c;它允許開發者在同一臺機器上安裝和使用不同版本的Node.js&#xff0c;解決了版本兼容性問題&#xff0c;為開發者提供了極大的便利。 在開發環…

路網雙線合并單線——ArcGISpro 解決方法

路網雙線合并成單線是一個在地圖制作、交通規劃以及GIS分析中常見的需求。雙線路網定義&#xff1a;具有不同流向、不同平面結構的道路。此外&#xff0c;車道數較多的道路&#xff08;例如&#xff0c;雙黃實線車道數大于4的道路&#xff09;也可以視為雙線路網&#xff0c;本…

iPhone 如何修改鎖屏密碼?修改密碼的具體步驟總結

修改 iPhone 鎖屏密碼 當你還記得當前設置的鎖屏密碼時&#xff0c;想要修改密碼就非常的簡單了&#xff0c;只需要簡單的點幾下就可以重新設置新密碼&#xff0c;下面是具體的操作步驟&#xff1a; 首先我們進入設置應用程序&#xff0c;然后找到“面容 ID 與密碼”。 然后需…

python3多進程用途和場景

Python3 的多進程模塊 multiprocessing 提供了多種用于并行處理的功能&#xff0c;適用于各種場景。以下是一些常見的用途和場景&#xff1a; 用途 CPU 密集型任務&#xff1a; 多進程適用于需要大量 CPU 計算的任務&#xff0c;例如數值計算、數據處理、圖像處理等。這些任務…

Redis的中BitMap的應用

一、應用場景 通常用于構建布隆過濾器 業務場景需要頻繁的查詢數據庫里的數據&#xff0c;但是這些數據又不一定都存在&#xff0c;一些大量無效的數據庫請求&#xff0c;占用了數據庫的鏈接。 本質上保護數據庫&#xff0c;減少無用的請求。 解決&#xff1a; 1、把查詢的…

(01)Unity使用在線AI大模型(使用百度千帆服務)

目錄 一、概要 二、環境說明 三、申請百度千帆Key 四、使用千帆大模型 四、給大模型套殼 一、概要 在Unity中使用在線大模型分為兩篇發布&#xff0c;此篇文檔為在Python中使用千帆大模型&#xff0c;整體實現邏輯是&#xff1a;在Python中接入大模型—>發布為可傳參的…

護眼臺燈的功能作用有哪些?深挖臺燈護眼是真的嗎

隨著現代生活方式的改變&#xff0c;孩子們面臨著越來越多的視力挑戰。在近視學生中&#xff0c;近10%為高度近視&#xff0c;且占比隨年級升高而增長。幼兒園6歲兒童中有1.5%為高度近視&#xff0c;而高中階段則達到了17.6%。為了守護孩子們的視力健康&#xff0c;在科技飛速發…

關鍵字 internal

在C#中&#xff0c;internal 關鍵字是一個訪問修飾符&#xff0c;它用于限制類型或類型成員的訪問性。當一個類型&#xff08;類、結構體、接口、枚舉等&#xff09;或類型成員&#xff08;字段、屬性、方法、事件等&#xff09;被聲明為 internal 時&#xff0c;它只能在同一程…

無符號數和有符號數的轉換

1、有符號數轉換成無符號數 1.1 例一 首先&#xff0c;我們需要清楚 C語言中負數是以補碼的形式進行存儲的。 示例&#xff1a;負數-1&#xff0c; &#xff08;此處&#xff0c;假設是8位二進制表示&#xff09; 對應正數的原碼&#xff1a;0000 0001&#xff1b;取反&…

通俗易懂多圖透徹講解二叉樹的遍歷--前序, 中序和后序

二叉樹的遍歷是一個數據結構中經常會遇到的知識點, 具體又分為前序, 中序和后序三種. 什么是樹? 先來理解一下什么是樹, 從一個我們相對熟悉的家譜樹(Family Tree)說起吧. 家族的根是爺爺, 然后生了兩個娃, 大伯和你爸爸. 繼續往下, 有堂哥堂姐, 還有你以及你妹, 等等. 一個…

簡化流程,強化協作——揭秘可道云TeamOS文檔審批的實用魅力

在團隊協作的過程中&#xff0c;文檔審批是確保信息安全和流程規范的重要環節。然而&#xff0c;傳統的文檔審批流程往往繁瑣且僵化&#xff0c;難以滿足團隊快速響應和靈活協作的需求。 可道云teamOS的文檔審批功能&#xff0c;以其獨特的靈活性和便捷性&#xff0c;為團隊帶…