介绍
在分布式系统中我们常常使用 Redis 作为缓存服务架构在数据库前面实现数据查询缓冲和查询加速, 同时也可以作为分布式锁(Redisson)的实现方式之一, 在redis:5+ 版本可以作为消息队列使用
基于C语言开发大道入口模块多线程和核心模块单线程模型nosql数据库
为了提高性能,将数据操作完全放到内存中进行, 通过定时异步刷新到磁盘实现数据持久化(RDB/AOF)
数据库中可以操作的数据类型为: string、list、set、sorted set、hash, 底层为redisObject
集群架构
基于redis:4
将redis-trib.py文件合并到redis-cli中,自动配置集群
本质还是 redis-cluster 重定向模式 + Sentinel 主从关系维护
部署
参考文档:
参考项目:
operator
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: redisoperator
name: redisoperator
spec:
replicas: 1
selector:
matchLabels:
app: redisoperator
strategy:
type: RollingUpdate
template:
metadata:
labels:
app: redisoperator
spec:
nodeSelector:
middleware: "middleware"
serviceAccountName: redisoperator
containers:
- image: quay.io/spotahome/redis-operator:latest
imagePullPolicy: IfNotPresent
name: app
resources:
limits:
cpu: 100m
memory: 50Mi
requests:
cpu: 10m
memory: 50Mi
restartPolicy: Always
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: redisoperator
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: redisoperator
subjects:
- kind: ServiceAccount
name: redisoperator
namespace: default
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterR