欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

K8s部署Redis主從集群教程

 更新時間:2025年01月08日 10:52:16   作者:夜夜流光相皎潔_小寧  
本文介紹了在Kubernetes環(huán)境下搭建Redis集群的詳細步驟,包括環(huán)境準備、安裝NFS、創(chuàng)建PV卷、搭建Redis集群、集群初始化、主從切換測試以及開放外網(wǎng)端口等內(nèi)容

一、環(huán)境準備

1.1 環(huán)境說明

本文搭建MongoDB,基于WMware虛擬機,操作系統(tǒng)CentOS 8,且已經(jīng)基于Kubeadm搭好了k8s集群,k8s節(jié)點信息如下:

服務(wù)器IP地址
master192.168.31.80
node1192.168.31.8
node2192.168.31.9

如需知道k8s集群搭建,可跳轉(zhuǎn)我的文章《kubeadm部署k8s集群》查看。

1.2 安裝說明

Redis ( Remote Dictionary Server),即遠程字典服務(wù)。

是一個開源的使用ANSI C語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,并提供多種語言的API。

它支持字符串、哈希表、列表、集合、有序集合,位圖,hyperloglogs等數(shù)據(jù)類型。內(nèi)置復(fù)制、Lua腳本、LRU收回、事務(wù)以及不同級別磁盤持久化功能,同時通過Redis Sentinel提供高可用,通過Redis Cluster提供自動分區(qū)。

1.3 Redis集群說明

一般來說,Redis部署有三種模式。

1)單實例模式

一般用于測試環(huán)境。

2)哨兵模式

在redis3.0以前,要實現(xiàn)集群一般是借助哨兵sentinel工具來監(jiān)控master節(jié)點的狀態(tài)。如果master節(jié)點異常,則會做主從切換,將某一臺slave作為master。引入了哨兵節(jié)點,部署更復(fù)雜,維護成本也比較高,并且性能和高可用性等各方面表現(xiàn)一般。

3)集群模式

3.0 后推出的 Redis 分布式集群解決方案;主節(jié)點提供讀寫操作,從節(jié)點作為備用節(jié)點,不提供請求,只作為故障轉(zhuǎn)移使用;如果master節(jié)點異常,也是會自動做主從切換,將slave切換為master。

后兩者用于生產(chǎn)部署,但總的來說,集群模式明顯優(yōu)于哨兵模式。那么今天我們就來講解下:k8s環(huán)境下,如何部署redis集群(三主三從)。

二、安裝NFS

2.1 安裝NFS

我選擇在 master 節(jié)點創(chuàng)建 NFS 存儲,首先執(zhí)行如下命令安裝 NFS:

yum -y install  nfs-utils rpcbind

2.2 創(chuàng)建NFS共享文件夾

mkdir -p /var/nfs/redis/pv{1..6}

2.3 配置共享文件夾

vim  /etc/exports

/var/nfs/redis/pv1  *(rw,sync,no_root_squash)
/var/nfs/redis/pv2  *(rw,sync,no_root_squash)
/var/nfs/redis/pv3  *(rw,sync,no_root_squash)
/var/nfs/redis/pv4  *(rw,sync,no_root_squash)
/var/nfs/redis/pv5  *(rw,sync,no_root_squash)
/var/nfs/redis/pv5  *(rw,sync,no_root_squash)

2.4 使配置生效

exportfs -r

2.5 查看所有共享目錄

exportfs -v

2.6 啟動nfs

systemctl start nfs-server
systemctl enabled nfs-server
systemctl start rpcbind
systemctl enabled rpcbind

2.7 其他節(jié)點安裝nfs-utils

yum -y install nfs-utils

三、創(chuàng)建PV卷

PersistentVolume簡稱pv,持久化存儲,是k8s為云原生應(yīng)用提供一種擁有獨立生命周期的、用戶可管理的存儲的抽象設(shè)計。

在創(chuàng)建PV卷之前,需要創(chuàng)建NFS客戶端、NFS 客戶端sa授權(quán)和StoreClass存儲類。

3.1 創(chuàng)建namespace

kubectl create ns redis-cluster

3.2 創(chuàng)建nfs 客戶端sa授權(quán)

cat > redis-nfs-client-sa.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: redis-nfs-client
  namespace: redis-cluster
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: nfs-client-runner
  namespace: redis-cluster
rules:
  - apiGroups: [""]
    resources: ["persistentvolumes"]
    verbs: ["get","list","watch","create","delete"]
  - apiGroups: [""]
    resources: ["persistentvolumeclaims"]
    verbs: ["get","list","watch","create","delete"]
  - apiGroups: ["storage.k8s.io"]
    resources: ["storageclasses"]
    verbs: ["get","list","watch"]
  - apiGroups: [""]
    resources: ["events"]
    verbs: ["get","list","watch","create","update","patch"]
  - apiGroups: [""]
    resources: ["endpoints"]
    verbs: ["create","delete","get","list","watch","patch","update"]

---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: run-nfs-provisioner
  namespace: redis-cluster
subjects:
  - kind: ServiceAccount
    name: redis-nfs-client
    namespace: redis-cluster
roleRef:
  kind: ClusterRole
  name: nfs-client-runner
  apiGroup: rbac.authorization.k8s.io

3.3 創(chuàng)建nfs 客戶端

cat > redis-nfs-client.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: redis-nfs-client
  labels:
    app: redis-nfs-client
  # replace with namespace where provisioner is deployed
  namespace: redis-cluster
spec:
  replicas: 1
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: redis-nfs-client
  template:
    metadata:
      labels:
        app: redis-nfs-client
    spec:
      serviceAccountName: redis-nfs-client
      containers:
        - name: redis-nfs-client
          image: quay.io/external_storage/nfs-client-provisioner:latest
          volumeMounts:
            - name: redis-nfs-client-root
              mountPath: /persistentvolumes
          env:
            - name: PROVISIONER_NAME   ## 這個名字必須與storegeclass里面的名字一致
              value:  my-redis-nfs
            - name: ENABLE_LEADER_ELECTION  ## 設(shè)置高可用允許選舉,如果replicas參數(shù)等于1,可不用
              value: "True"
            - name: NFS_SERVER
              value: 192.168.31.80  #修改為自己的ip(部署nfs的機器ip)
            - name: NFS_PATH
              value: /var/nfs/redis     #修改為自己的nfs安裝目錄
      volumes:
        - name: redis-nfs-client-root
          nfs:
            server: 192.168.31.80 #修改為自己的ip(部署nfs的機器ip)
            path: /var/nfs/redis     #修改為自己的nfs安裝目錄

3.4 創(chuàng)建StoreClass

StorageClass:簡稱sc,存儲類,是k8s平臺為存儲提供商提供存儲接入的一種聲明。通過sc和相應(yīng)的存儲插件(csi)為容器應(yīng)用提供持久存儲卷的能力。

cat > redis-storeclass.yaml

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: redis-nfs-storage
  namespace: redis-cluster
provisioner: my-redis-nfs

3.5 執(zhí)行命令創(chuàng)建NFS sa授權(quán)、NFS客戶端以及StoreClass

kubectl apply -f  redis-nfs-client-sa.yaml

kubectl apply -f  redis-nfs-client.yaml

kubectl apply -f  redis-storeclass.yaml

3.6 創(chuàng)建PV

這里我們創(chuàng)建6個PV卷,分別對應(yīng)Redis的三主三從。

cat > redis-pv.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: redis-nfs-pv1
  namespace: redis-cluster
spec:
  storageClassName: redis-nfs-storage
  capacity:
    storage: 500M
  accessModes:
    - ReadWriteMany
  nfs:
    server: 192.168.31.80
    path: "/var/nfs/redis/pv1"

---

apiVersion: v1
kind: PersistentVolume
metadata:
  name: redis-nfs-pv2
  namespace: redis-cluster
spec:
  storageClassName: redis-nfs-storage
  capacity:
    storage: 500M
  accessModes:
    - ReadWriteMany
  nfs:
    server: 192.168.31.80
    path: "/var/nfs/redis/pv2"

---

apiVersion: v1
kind: PersistentVolume
metadata:
  name: redis-nfs-pv3
  namespace: redis-cluster
spec:
  storageClassName: redis-nfs-storage
  capacity:
    storage: 500M
  accessModes:
    - ReadWriteMany
  nfs:
    server: 192.168.31.80
    path: "/var/nfs/redis/pv3"

---

apiVersion: v1
kind: PersistentVolume
metadata:
  name: redis-nfs-pv4
  namespace: redis-cluster
spec:
  storageClassName: redis-nfs-storage
  capacity:
    storage: 500M
  accessModes:
    - ReadWriteMany
  nfs:
    server: 192.168.31.80
    path: "/var/nfs/redis/pv4"

---

apiVersion: v1
kind: PersistentVolume
metadata:
  name: redis-nfs-pv5
  namespace: redis-cluster
spec:
  storageClassName: redis-nfs-storage
  capacity:
    storage: 500M
  accessModes:
    - ReadWriteMany
  nfs:
    server: 192.168.31.80
    path: "/var/nfs/redis/pv5"

---

apiVersion: v1
kind: PersistentVolume
metadata:
  name: redis-nfs-pv6
  namespace: redis-cluster
spec:
  storageClassName: redis-nfs-storage
  capacity:
    storage: 500M
  accessModes:
    - ReadWriteMany
  nfs:
    server: 192.168.31.80
    path: "/var/nfs/redis/pv6"

3.7 執(zhí)行命令創(chuàng)建PV

kubectl apply -f redis-pv.yaml

3.8 PV卷知識普及(解析為什么需要SC、PV)

這里說一下,為什么要創(chuàng)建SC,PV?

因為redis集群,最終需要對應(yīng)的文件有,redis.conf、nodes.conf、data,由此可見,這些文件每個節(jié)點,都得對應(yīng)有自己得文件夾。

當然redis.conf可以是一個相同得,其他兩個,就肯定是不一樣得。如果使用掛載文件夾即是 Volume 的情況部署一個pod,很明顯,是不能滿足的。

當然,你部署多個不一樣的pod,也是可以做到,但是就得寫6個部署yaml文件,后期維護也很復(fù)雜。最好的效果是,寫一個部署yaml文件,然后有6個replicas副本,就對應(yīng)了我們redis集群(三主三從)。

那一個pod,再使用Volume掛載文件夾,這個只能是一個文件夾,是無法做到6個pod對應(yīng)不同的文件夾。

所以這里,就引出了SC、PV了。使用SC、PV就可以實現(xiàn),這6個pod啟動,就對應(yīng)上我們創(chuàng)建的6個PV,那就實現(xiàn)了redis.conf、nodes.conf、data,這三個文件,存放的路徑,就是不一樣的路徑了。

四、搭建Redis集群

4.1 普及知識

RC、Deployment、DaemonSet都是面向無狀態(tài)的服務(wù),它們所管理的Pod的IP、名字,啟停順序等都是隨機的,而StatefulSet是什么?顧名思義,有狀態(tài)的集合,管理所有有狀態(tài)的服務(wù),比如MySQL、MongoDB集群等。

StatefulSet本質(zhì)上是Deployment的一種變體,在v1.9版本中已成為GA版本,它為了解決有狀態(tài)服務(wù)的問題,它所管理的Pod擁有固定的Pod名稱,啟停順序,在StatefulSet中,Pod名字稱為網(wǎng)絡(luò)標識(hostname),還必須要用到共享存儲。

在Deployment中,與之對應(yīng)的服務(wù)是service,而在StatefulSet中與之對應(yīng)的headless service,headless service,即無頭服務(wù),與service的區(qū)別就是它沒有Cluster IP,解析它的名稱時將返回該Headless Service對應(yīng)的全部Pod的Endpoint列表。

除此之外,StatefulSet在Headless Service的基礎(chǔ)上又為StatefulSet控制的每個Pod副本創(chuàng)建了一個DNS域名,這個域名的格式為:

$(pod.name).$(headless server.name).${namespace}.svc.cluster.local

也即是說,對于有狀態(tài)服務(wù),我們最好使用固定的網(wǎng)絡(luò)標識(如域名信息)來標記節(jié)點,當然這也需要應(yīng)用程序的支持(如Zookeeper就支持在配置文件中寫入主機域名)。

StatefulSet基于Headless Service(即沒有Cluster IP的Service)為Pod實現(xiàn)了穩(wěn)定的網(wǎng)絡(luò)標志(包括Pod的hostname和DNS Records),在Pod重新調(diào)度后也保持不變。同時,結(jié)合PV/PVC,StatefulSet可以實現(xiàn)穩(wěn)定的持久化存儲,就算Pod重新調(diào)度后,還是能訪問到原先的持久化數(shù)據(jù)。

以下為使用StatefulSet部署Redis的架構(gòu),無論是Master還是Slave,都作為StatefulSet的一個副本,并且數(shù)據(jù)通過PV進行持久化,對外暴露為一個Service,接受客戶端請求。

4.2 創(chuàng)建headless服務(wù)

cat > redis-hs.yaml

apiVersion: v1
kind: Service
metadata:
  labels:
    k8s.kuboard.cn/layer: db
    k8s.kuboard.cn/name: redis
  name: redis-hs
  namespace: redis-cluster
spec:
  ports:
    - name: nnbary
      port: 6379
      protocol: TCP
      targetPort: 6379
  selector:
    k8s.kuboard.cn/layer: db
    k8s.kuboard.cn/name: redis
  clusterIP: None

Headless service是StatefulSet實現(xiàn)穩(wěn)定網(wǎng)絡(luò)標識的基礎(chǔ)。

網(wǎng)絡(luò)訪問:pod名稱.headless名稱.namespace名稱.svc.cluster.local 即:pod名稱.redis-hs.redis-cluster.svc.cluster.local。

4.3 創(chuàng)建redis.conf配置

/opt/redis/conf 目錄下的redis.conf配置,待會創(chuàng)建Configmap需要用到

bind 0.0.0.0
port 6379
daemonize no

# requirepass redis-cluster  
# 集群配置
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000

requirepass redis-cluster 設(shè)置的是集群密碼,注釋掉是因為通過redis-trib實現(xiàn)集群初始化,有密碼會初始化不了,暫時不知道該怎么解決,只能先把密碼關(guān)掉,哈哈哈。

4.4 創(chuàng)建名稱為redis-conf的Configmap

kubectl create configmap redis-conf --from-file=redis.conf -n redis-cluster

4.5 創(chuàng)建redis 對應(yīng)pod集群

cat > redis.yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: redis
  namespace: redis-cluster
  labels:
    k8s.kuboard.cn/layer: db
    k8s.kuboard.cn/name: redis
spec:
  replicas: 6
  selector:
    matchLabels:
      k8s.kuboard.cn/layer: db
      k8s.kuboard.cn/name: redis
  serviceName: redis
  template:
    metadata:
      labels:
        k8s.kuboard.cn/layer: db
        k8s.kuboard.cn/name: redis
    spec:
      terminationGracePeriodSeconds: 20
      containers:
        - name: redis
          image: redis
          command:
              - "redis-server"
          args:
              - "/etc/redis/redis.conf"
              - "--protected-mode"
              - "no"
          ports:
            - name: redis
              containerPort: 6379
              protocol: "TCP"
            - name: cluster
              containerPort: 16379
              protocol: "TCP"
          volumeMounts:
            - name: "redis-conf"
              mountPath: "/etc/redis"
            - name: "redis-data"
              mountPath: "/data"
      volumes:
        - name: "redis-conf"
          configMap:
             name: "redis-conf"
             items:
                - key: "redis.conf"
                  path: "redis.conf"
  volumeClaimTemplates:
    - metadata:
        name: redis-data
      spec:
        accessModes: [ "ReadWriteMany" ]
        resources:
          requests:
            storage: 200M
        storageClassName: redis-nfs-storage

4.6 執(zhí)行命令創(chuàng)建Service和Redis 集群Pod

kubectl apply -f  redis-hs.yaml

kubectl apply -f  redis.yaml

4.7 查看集群狀態(tài)

我們經(jīng)過以上步驟之后,Redis的6個Pod 已經(jīng)啟動起來了,但是我們還沒做集群初始化操作,此刻Redis還不是主從集群狀態(tài),我們可以檢查驗證下:

1、 進入容器(可以通過k8s頁面,選中節(jié)點,通過base或sh進來),然后 cd /usr/local/bin/

2、連接上Redis節(jié)點: redis-cli -c

3、查看集群狀態(tài):cluster info

五、集群初始化

Redis集群必須在所有節(jié)點啟動后才能進行初始化,而如果將初始化邏輯寫入Statefulset中,則是一件非常復(fù)雜而且低效的行為。

我們可以在K8S上創(chuàng)建一個額外的容器,專門用于進行K8S集群內(nèi) 部某些服務(wù)的管理控制。

這里,我們專門啟動一個Ubuntu的容器,可以在該容器中安裝Redis-tribe,進而初始化Redis集群。

5.1 啟動容器

kubectl run -it ubuntu --image=ubuntu --namespace=redis-cluster --restart=Never /bin/bash

5.2 替換ubuntu鏡像源

cat > /etc/apt/sources.list << EOF
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
EOF

5.3 安裝軟件環(huán)境

apt-get update

apt-get install -y vim wget python2.7 python-pip redis-tools dnsutils

5.4 安裝redis-trib

pip install redis-trib==0.5.1

5.5 創(chuàng)建Redis集群

redis-trib.py create \
  `dig +short redis-0.redis-hs.redis-cluster.svc.cluster.local`:6379 \
  `dig +short redis-1.redis-hs.redis-cluster.svc.cluster.local`:6379 \
  `dig +short redis-2.redis-hs.redis-cluster.svc.cluster.local`:6379

5.6 為Master添加slave

redis-trib.py replicate \
  --master-addr `dig +short redis-0.redis-hs.redis-cluster.svc.cluster.local`:6379 \
  --slave-addr `dig +short redis-3.redis-hs.redis-cluster.svc.cluster.local`:6379
redis-trib.py replicate \
  --master-addr `dig +short redis-1.redis-hs.redis-cluster.svc.cluster.local`:6379 \
  --slave-addr `dig +short redis-4.redis-hs.redis-cluster.svc.cluster.local`:6379
redis-trib.py replicate \
  --master-addr `dig +short redis-2.redis-hs.redis-cluster.svc.cluster.local`:6379 \
  --slave-addr `dig +short redis-5.redis-hs.redis-cluster.svc.cluster.local`:6379

5.7 查看集群狀態(tài)

cluster info

5.8 查看集群節(jié)點情況

cluster nodes

六、測試主從切換

在K8S上搭建完好Redis集群后,我們最關(guān)心的就是其原有的高可用機制是否正常。這里,我們可以任意挑選一個Master的Pod來測試集群的主從切換機制。

這里我以我的redis-0節(jié)點做演示。

6.1 查看節(jié)點的角色

1、 進入容器(可以通過k8s頁面,選中節(jié)點,通過base或sh進來),然后 cd /usr/local/bin/

2、連接上Redis節(jié)點: redis-cli -c

3、查看節(jié)點角色:role

可以看出,我們的redis-0節(jié)點,是Master節(jié)點,他的Slave 節(jié)點IP是10.244.1.17,即我們的redis-3節(jié)點。

進入redis-3節(jié)點,驗證,發(fā)現(xiàn)確實是這樣的:

6.2 刪掉redis-0 Mster節(jié)點,觀察情況

首先查看redis-o節(jié)點

kubectl get pod redis-0 -n redis-cluster -o wide

接著刪除該Pod

kubectl delete pod redis-0 -n redis-cluster

再次進入redis-0節(jié)點查看它的角色信息

發(fā)現(xiàn)redis-0節(jié)點變成了slave節(jié)點,而他的Master節(jié)點,變成了10.244.1.17,即redis-3節(jié)點。證明了我們的Redis 主從集群是可用的。

七、開放外網(wǎng)端口

前面我們創(chuàng)建了用于實現(xiàn)StatefulSet的Headless Service,但該Service沒有Cluster Ip,因此不能用于外界訪問。所以,我們還需要創(chuàng)建一個Service,專用于為Redis集群提供訪問和負載均衡。

7.1 創(chuàng)建用于外部訪問的service

cat > redis-access-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: redis-access-service
  labels:
    app: redis-outip
spec:
  ports:
  - name: redis-port
    protocol: "TCP"
    port: 6379
    targetPort: 6379
  selector:
     k8s.kuboard.cn/layer: db
     k8s.kuboard.cn/name: redis

八、Redis故障轉(zhuǎn)移疑問解答

大家可能會疑惑,那為什么沒有使用穩(wěn)定的標志,Redis Pod也能正常進行故障轉(zhuǎn)移呢?這涉及了Redis本身的機制。

因為,Redis集群中每個節(jié)點都有自己的NodeId(保存在自動生成的 nodes.conf中),并且該NodeId不會隨著IP的變化和變化,這其實也是一種固定的網(wǎng)絡(luò)標志。

也就 是說,就算某個Redis Pod重啟了,該Pod依然會加載保存的NodeId來維持自己的身份。我們可以在進入redis-0容器,看的nodes.conf文件:

如上,第一列為NodeId,穩(wěn)定不變;第二列為IP和端口信息,可能會改變。

這里,我們介紹NodeId的兩種使用場景: 當某個Slave Pod斷線重連后IP改變,但是Master發(fā)現(xiàn)其NodeId依舊, 就認為該Slave還是之前的 Slave。

當某個Master Pod下線后,集群在其Slave中選舉重新的Master。待舊Master上線后,集群發(fā)現(xiàn)其 NodeId依舊,會讓舊Master變成新Master的slave。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • caffeine_redis自定義二級緩存

    caffeine_redis自定義二級緩存

    這篇文章詳細介紹了caffeine_redis 自定義二級緩存,文中有相關(guān)的背景前提與出現(xiàn)的問題,感興趣的同學(xué)可以參考一下
    2023-04-04
  • 了解redis中RDB結(jié)構(gòu)_動力節(jié)點Java學(xué)院整理

    了解redis中RDB結(jié)構(gòu)_動力節(jié)點Java學(xué)院整理

    這篇文章主要為大家詳細介紹了redis中RDB結(jié)構(gòu),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Redis集群指定主從關(guān)系及動態(tài)增刪節(jié)點方式

    Redis集群指定主從關(guān)系及動態(tài)增刪節(jié)點方式

    這篇文章主要介紹了Redis集群指定主從關(guān)系及動態(tài)增刪節(jié)點方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • redis刪除key下所有value步驟詳解

    redis刪除key下所有value步驟詳解

    在使用Redis時,經(jīng)常需要刪除某個key下的所有value,本文就來詳細的介紹一下redis刪除key下所有value步驟,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • Redis的大Key對持久化影響分析

    Redis的大Key對持久化影響分析

    為了保證數(shù)據(jù)的持久性,Redis提供了兩種持久化的方式,本文主要介紹了Redis的大Key對持久化影響分析,具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • Redis列表類型的常用命令小結(jié)

    Redis列表類型的常用命令小結(jié)

    這篇文章給大家整理了在操作Redis列表類型中的常用命令,文章總結(jié)的很全面,對大家學(xué)習Redis具有一定的參考借鑒價值,下面來一起看看吧。
    2016-09-09
  • Centos7下Redis3.2.8最新版本安裝教程

    Centos7下Redis3.2.8最新版本安裝教程

    這篇文章主要為大家詳細介紹了Centos7下Redis3.2.8最新版本的安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Redis主從復(fù)制的實現(xiàn)示例

    Redis主從復(fù)制的實現(xiàn)示例

    Redis主從復(fù)制實現(xiàn)多機備份,本文就來介紹一下Redis主從復(fù)制的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2024-11-11
  • Redis中的數(shù)據(jù)過期策略詳解

    Redis中的數(shù)據(jù)過期策略詳解

    這篇文章主要介紹了Redis中的數(shù)據(jù)過期策略,文中通過示例代碼介紹的很詳細,相信對大家的理解和學(xué)習具有一定的參考借鑒價值,有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • 用Lua腳本實現(xiàn)Redis原子操作的示例

    用Lua腳本實現(xiàn)Redis原子操作的示例

    本文主要介紹了用Lua腳本實現(xiàn)Redis原子操作的示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2025-03-03

最新評論