avatar

一条在知识海洋的咸鱼

这个家伙很懒,啥也没有留下😋

  • 首页
  • Linux
  • OCJP
  • Java核心技术卷
  • J2EE相关标准
  • 深入理解Java虚拟机
  • NIO与SOcket编程技术指南
  • Java多线程编程核心技术
  • Redis开发与运维
  • Spring Cloud Alibaba 微服务原理与实践
  • DevOps
  • Docker
  • MySQL必知必会
  • AI自学路线
  • Spring Boot 编程思想(核心篇)
主页 初识Redis
文章

初识Redis

发表于 2021-01-5 更新于 2026-06- 10
作者 Administrator
18~23 分钟 阅读

Redis全称为Remote Dictionary Server(远程字典服务)

  • 盛赞Redis
  • Redis特性
    • 速度快
    • 基于键值对(key-value)的数据结构服务器
    • 丰富的功能
    • 简单稳定
    • 客户端语言多
    • 持久化
    • 主从复制
    • 高可用和分布式
  • Redis 使用场景
    • Redis可以做什么
      • 缓存
      • 排行榜系统
      • 计数器应用
      • 社交网络
    • Redis不可以做什么
      • 大规模数据
      • 冷数据
  • 使用好Redis 的建议
  • 正确安装并启动Redis
    • Linux 上安装Redis
    • Windows安装Redis
    • 配置、启动、操作、关闭Redis
      • 安装目录
      • 配置目录
      • shell命令
      • 启动Redis
      • Redis命令行客户端
      • 停止Redis服务
  • Redis重大版本
    • Redis 3.0
    • Redis 3.2
    • Redis 4.0

盛赞Redis

  • Redis是一种基于键值对(K-V)的NoSQL数据库,其中V可以由string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、HyperLogLog(超对数,计算算法)、GEO(地理信息定位)等多种数据结构和算法组成
  • Redis将数据放入内存中,读写性好
  • 将内存数据利用快照和日志形式保存到硬盘上,确保数据不会丢失
  • 提供键过期、发布订阅、事务、流水线、Lua脚本等功能

Redis特性

速度快

读写性能达到10万/秒

原因:

  • 数据存放在内存中
  • 使用C语言实现,更高效
  • 单线程,预防了多线程可能产生的竞争问题
  • 源代码精打细磨,集性能与优雅于一身

基于键值对(key-value)的数据结构服务器

主要提供了:字符串、哈希、列表、集合、有序集合,在此基础上演变出位图(Bitmaps)、HyperLogLog、GEO(地理信息定位)功能

丰富的功能

  • 提供键过期功能,可以用来实现缓存
  • 提供发布订阅功能,可以用来实现消息系统
  • 提供了Lua脚本功能,可以创造出新的Redis命令
  • 提供简单事务功能,在一定程度上保证事务特性
  • 提供了流水线(Pipeline)功能,客户端可以将一批命令一次性传到Redis,减少了网络开销

简单稳定

体现在三个方面

  • Redis的源码很少,早期只有2万行,3.0版本后添加集群特性,代码增至5万行
  • Redis使用单线程模型,服务端处理模型变得简单,客户端开发变得简单
  • Redis不需要依赖于操作系统中的类库,自己实现事件处理能力

客户端语言多

提供TCP通信协议,很多编程语言可以很方便接入到Redis

持久化

提供了2种持久化方式:RDB和AOF,可以将内存数据保存到硬盘种

主从复制

提供了复制功能,实现多个相同数据的Redis副本,是分布式Redis基础

高可用和分布式

  • 高可用:Redis Sentinel,保证Redis节点的故障发现和故障自动转移
  • 分布式:Redis Cluster,提供了高可用、读写和容量的扩展

Redis 使用场景

Redis可以做什么

缓存

Redis提供了键值过期时间设置,并且也提供了灵活控制最大内存和内存溢出后的淘汰策略。
合理使用缓存不仅可以加快数据的访问速度,而且能够有效地降低后端数据源的压力。

排行榜系统

Redis提供了列表和有序集合数据结构,合理地使用这些数据结构可以很方便地构建各种排行榜系统(热度排行、发布时间排行等)。

计数器应用

Redis天然支持计数功能而且计数地性能也非常好。
视频网站播放数、电商网站浏览数等数据等实时性

社交网络

Redis提供地数据结构可以比较容易实现这些功能。
例如 赞/踩、粉丝、共同好友/喜好、推送、下拉刷新等

Redis不可以做什么

大规模数据

数据可以分为大规模数据和小规模数据,Redis数据存放在内存中,使用Redis来储存大规模数据经济成本相当高

冷数据

数据分为冷热数据,热点数据被频繁操作,可以放在Redis中加速读写,也可以减轻后端储存地负载。冷数据放在Redis中则基本上是对内存的浪费

使用好Redis 的建议

  • 切勿当作黑盒使用
  • 阅读源码

正确安装并启动Redis

Linux 上安装Redis

建议使用软件管理工具安装,省事,方便管理
我的是CentOS使用yum
image.png
搜索redis,查看redis信息是否为想要安装的软件
image.png
install安装,同时安装需要的依赖,安装完成查看信息

Windows安装Redis

微软在github上有开源版本的redis,但是貌似不提供更新了
https://github.com/microsoftarchive/redis
image.png

配置、启动、操作、关闭Redis

安装目录

rpm -ql redis 获得redis所有文件与目录所在完整文件名
image.png

配置目录

配置文件地址如下
image.png

shell命令

redis的所有shell文件
image.png

  • redis-server:启动redis服务端
  • redis-cli:名命令客户端
  • redis-benchmark:Redis基准测试工具
  • redis-sentinel:启动Redis Sentinel
  • redis-check-aof:AOF持久化文件检测和修复工具
  • redis-check-rdb:RDB持久化文件检测和修复工具

启动Redis

Redis启动有三种方式:默认配置、运行配置、配置文件启动
建议以运行配置文件启动的方式运行

  • 默认配置:redis-server
    image.png

  • 运行配置启动:redis-server --configKey1 configValue1 --configKey2 configValue2 --configKey3 configValue3
    例如以6380端口启动Redis:redis-server --port 6380
    image.png

  • 配置文件启动:redis-server 文件全路径名
    例如 redis-server
    image.png
    Redis有60多个配置,基础配置如下:

  • port:端口

  • logfile:日志文件

  • dir:Redis工作目录(存放持久化文件和日志文件)

  • daemonize:是否以守护进程的方式启动Redis

Redis命令行客户端

redis-cli 可以使用两种方式连接Redis服务器:交互式方式、命令方式

  • 交互式方式:redis-cli -h [ip] -p [port]
    例如redis-cli -h localhost -p 6379
    image.png
    启动后不需要在执行redis-cli

  • 命令方式:redis-cli -h [ip] -p [port] [command]
    例如redis-cli -h localhost -p 6379 set hello world
    image.png

注意:如果没有-h则默认本地localhost 127.0.0.1,如果没有-p则默认6379端口

停止Redis服务

  • redis-cli 进入客户端后输入shutdown
  • redis-cli shutdown
  • redis-cli shutdown nasave|save 生成持久化文件
  • kill -15/9 PID
    image.png

详细命令可以用man redis-cli 或 redis-cli --help

Redis重大版本

image.png
Redis借鉴Linux命名版本规则,版本号第二位如果是奇数则为非稳定版本,偶数为稳定版本。我的Redis版本为3.2为稳定版本。
现在Redis使用版本较多为3.0,3.2,4.0

Redis 3.0

2015年4月1发布
最大的改动为Redis的分布式实现Redis Cluster,填补了Redis官方没有分布式实现的空白

Redis 3.2

2016年5月6日发布

  • 添加GEO功能及其他功能

Redis 4.0

  • 提供模块系统,方便扩展Redis功能
  • Redis Cluster 兼容NAT 和Docker
Redis开发与运维
Redis
许可协议: 
分享

相关文章

1月 17, 2021

Redis监控运维云平台 CacheCloud

无论使用还是运维Redis,不要将其看作黑盒。当Redis达到了一定规模,这些命令会变得捉襟见肘,如果通过平台化的工具同意监控和管理将极大地提升开发和运维人员工作效率CacheCloud是什么现有问题部署成本实例碎片化监控、统计和管理不完善运维、经济成本CacheCloud功能主要功能快速部署Cac

1月 16, 2021

缓存设计

缓存能够有效地加速应用的读写速度,同时也可以降低后端负载,对日常用用的开发至关重要缓存的收益和成本缓存的收益缓存的成本缓存的使用场景缓存更新策略缓存的收益和成本缓存的收益加速度写因为缓存通常是全内存的(Redis、Memcache),存储层通常读写性能不够强悍(MySQL),通过缓存的使用可以有效地

1月 14, 2021

集群

Redis Cluster是Redis的分布式解决方案,有效地解决了Redis分布式方面的需求数据分布数据分布理论数据分布数据分布理论

下一篇

API的理解和使用

上一篇

InnoDB存储引擎

最近更新

  • 55 异常兜底:工具失败、非法输出、空检索与超时
  • 54 Agent Memory:短期记忆、用户上下文与摘要
  • 53 Human-in-the-loop:让关键动作暂停、确认与恢复
  • 52 工单 Tool:字段校验、创建结果与失败补偿
  • 51 订单 Tool:Mock、鉴权、状态解析与脱敏

热门标签

java基础 微服务 maven Spring Tomcat DDD Linux Linux基础 SQL基础 数据结构算法

目录

©2026 一条在知识海洋的咸鱼. 保留部分权利。

使用 Halo 主题 Chirpy