`

Redis开发与运维读书笔记之二

 
阅读更多
第1章 初识Redis

Redis的8个重要特性
  • 速度快:RW速度大约在10万/秒左右,数据存放内存,C语言设计,单线程架构,避免线程争用,
  • 基于键值对的数据结构服务器:Redis全称是REmote DIctionary Server,主要提供5种数据结构-字符串、哈希、列表、集合、有序集合,并从字符串演变出了位图和HyperLogLog的结构,同时随着LBS的发展,从3.2开始引入了GEO(地理信息定位)功能
  • 丰富的功能:通过键过期功能实现缓存、通过发布订阅功能实现消息系统、支持Lua脚本创造新的Redis命令、提供简单事务功能保证事务特性、提供流水线Pipeline功能实现客户端一次传输一批命令,减少网络开销
  • 简单稳定:源码少,早期版本只有2万行,3.0添加了集群特性也只有5万行代码;单线程模型也使得服务器端处理模型简单,容易进行客户端开发;不需要依赖操作系统类库实现事务处理
  • 客户端语言多:通过TCP接入各种语言的客户端
  • 持久化:RDB和AOF两种持久化策略
  • 主从复制:一主多从
  • 高可用和分布式:Redis2.8提供了Sentinel高可用实现,保证故障节点的故障发现和自动转移。3.0开始提供集群和分布式实现Redis Cluster,提供了高可用、读写和容量的扩展

Redis适合的应用场景
  • 缓存:键值过期时间设置、最大内存灵活设置和内存溢出后的淘汰策略
  • 排行榜
  • 计数器:天然支持且性能很好
  • 社交网络:支持赞/踩、粉丝、共同好友/喜好,推送、下拉创新
  • 消息队列

Redis不适合的应用场景
  • 不适合放冷数据

Redis的安装-Linux
可以通过yum/apt或源码安装,考虑到Redis安装简单,且更新快,推荐源码安装
wget http://download.redis.io/releases/redis-3.x.x.tar.gz (可以下载最新稳定版)
tar xzf redis-3.x.x.tar.gz
ln -s redis-3.x.x redis
cd redis
make
make install

这里建立一个redis的软链接,目的是未来升级时,可以减少应用对版本的依赖
make install可以将redis安装到/usr/local/bin目录下,可以在任意目录下执行redis命令,如redis-cli -v 就可以查看redis版本
Redis的配置、启动、操作和关闭
Redis可执行文件说明
  • redis-server:启动redis
  • redis-cli:redis命令行客户端
  • redis-benchmark:redis基准测试工具
  • redis-check-aof:AOF持久化文件检测和修复工具
  • redis-check-dump:RDB持久化文件检测和修复工具
  • redis-sentinel:启动Redis Sentinel


Redis应使用配置文件启动,或者指定端口号和配置名和值启动
redis-server --configKey configValue1 --configKey2 configValue2 --port Port


redis-server /opt/redis/redis.conf


redis.conf有60多个配置,基础配置如下:
  • port:端口
  • logfile:日志文件
  • dir:工作目录(存放持久化文件和日志文件)
  • daemonize:是否以守护进程模式启动Redis

redis-cli可以以两种方式连接Redis服务器:
  • redis-cli -h {ip} -p {port},然后进行交互
  • redis-cli -h {ip} -p {port} {command}直接交互

当没有-h参数时,默认连接127.0.0.1,如果没有-p参数,默认连接6379端口

终止redis服务:
redis-cli shutdown

这是一种优雅的关闭方式,会断开服务器端和客户端的所有连接、生成持久化文件,如果使用kill -9 强制杀死进程,不会持久化文件,还会造成缓冲区资源无法优雅关闭,造成AOF和复制丢失数据。
shutdown可以输入参数,表示在关闭redis前,是否生成持久化文件
redis-cli shutdown nosave|save


Redis版本号和Linux一样,版本号第2位是奇数的话,为非稳定版本,偶数为稳定版本生产环境应当使用偶数版本
分享到:
评论

相关推荐

    《redis运维与开发》读书笔记

    ### 《redis运维与开发》读书笔记知识点梳理 #### 一、Redis-cli工具详解 - **基础使用**:`redis-cli`是Redis提供的命令行工具,用于与Redis服务器交互。 - `-h`: 指定Redis服务器的IP地址。 - `-p`: 指定...

    2.redis运维实战教程资料-详细课件笔记总结

    运维工程师,运维开发工程师,架构师,高级运维工程师 你将会学到: 掌握redis的安装部署、主从+哨兵模式、cluster集群模式的伸缩容,解决redis常见问题 课程简介: redis课程大纲内容如下: 1.redis的编译安装 2....

    redis笔记xmind

    是根据《redis开发与运维》一书和其他redis书摘抄的记录综合的笔记

    前后端分离部署与运维总结笔记

    笔记是本人工作期间总结的所有部署与运维的方法,我相信能帮助大家的! 其中重点讲解了以下的步骤: 一、PXC集群安装 二、MySQL集群安装 三、RedisCluster集群安装 四、后端项目上线方法

    redis学习笔记Redis.md

    ### Redis 学习笔记知识点概览 #### 一、Redis 概述与应用场景 ##### 1.1 NoSQL 数据库简介 - **定义**: NoSQL(Not Only...无论是作为开发人员还是运维工程师,深入掌握 Redis 都能显著提高应用程序的性能和可靠性。

    运维笔记运维笔记运维笔记运维笔记

    本文旨在总结运维笔记中的一些重要知识点,涵盖 Linux 基础命令行、文件系统、压缩解压命令、系统磁盘、用户组群命令、正则表达式、Shell 脚本、NFS 服务配置、Nginx 基础、反向代理、负载均衡配置、Redis 基础、...

    Redis 题库 笔记 PDF文件电子版 494道题 2023年 精选 面试 自学 考试

    Redis Lua 脚本- Redis 位图操作- Redis 分布式锁- Redis 主从复制- Redis 集群- Redis Sentinel- Redis 高可用架构- Redis 性能优化- Redis 访问控制- Redis 监控与性能调优- Redis 安全配置- Redis 运维。...

    MySQL DBA运维笔记 超详细

    MySQL DBA运维笔记详细介绍了数据库相关的基础知识以及MySQL数据库的管理和操作技巧,以下是详细的知识点梳理: 1. 数据库的种类: 1.1 关系型数据库介绍:关系型数据库是以行和列的形式存储数据,支持复杂的查询...

    Linux云计算运维笔记

    Ansible自动化运维平台 CI和CD代码管理平台 Docker容器实战部署 Kubernetes云计算实战 Linux常用服务器部署实战 Linux系统管理宝典 Linux系统资源限制与加固 MySQL数据库实战 Redis数据库实战 shell脚本高手速成 Web...

    狂神redis源码笔记.rar

    通过阅读“狂神redis源码笔记”和解压的“redis-study”文件,你将能够深入理解Redis的内部运作,掌握Java客户端的使用技巧,提升在实际项目中运用Redis的能力。这包括但不限于了解Redis的设计模式、源码实现细节、...

    主要记录一些JAVA笔记,运维笔记,前端笔记,以及面试突击训练

    运维笔记涉及的内容广泛,包括系统管理、网络配置、监控、自动化部署等。Kubernetes(K8S)是目前最流行的容器编排工具,它可以帮助管理和部署容器化的应用,实现服务的自动扩展和高可用性。 面试突击训练通常会...

    k8s(kubernetes)相关重要知识点运维笔记——详细文档

    k8s(kubernetes)相关重要知识点运维笔记——详细文档 本文档旨在总结 k8s(kubernetes)相关重要知识点,涵盖 ConfigMap 的概念、数据类型、应用场景、使用方式等。 ConfigMap 是 k8s 中的一种配置管理工具,...

    马哥2016运维笔记

    【马哥2016运维笔记】是一份包含丰富的Linux系统管理及运维技术的资料集,其中涵盖了多个关键的开源工具,如Nginx、Redis、Ansible、Zabbix、MySQL以及Keepalived等。这些工具在现代互联网环境中扮演着至关重要的...

    redis 详细实践笔记

    Redis 是一个高性能的键值对数据存储系统,常被用作数据库、...以上就是 Redis 实践笔记中关于主从部署、哨兵系统和集群部署的知识点概述,对于实际运维和开发来说,理解并掌握这些内容是构建高可用 Redis 系统的基础。

    linux运维学习笔记:数据库介绍与安装管理.pdf

    同时,应考虑开发人员开发的程序使用的版本与所选版本的兼容性,以及在实施新版本前先在内部测试环境中运行一段时间。此外,应该向经验丰富的数据库管理员(DBA)咨询或在技术社区中交流,以确保所选数据库版本的...

    linux运维学习笔记:MySQL运维基础面试问答题42题.pdf

    综上所述,这份学习笔记详细地覆盖了MySQL运维的各个方面,从基础概念、数据类型、数据库操作、安全加固、实例管理、日志管理等多个维度,为学习者提供了全面的参考资料。对于想要深入学习MySQL的运维人员来说,这份...

    MySQLDBA运维笔记

    MySQLDBA运维笔记是一份针对MySQL数据库管理员(DBA)的工作总结与指南,特别适合于入门级DBA以及对数据库管理感兴趣的初学者。该笔记详细地总结了日常工作中的问题,涵盖了从基础的数据库概念到高级的数据库管理...

    Redis数据库学习笔记

    在实际使用中,理解并掌握这些知识点能够帮助开发者更好地利用Redis数据库解决实际问题,同时也能够更高效地进行Redis的开发和运维工作。由于Redis的特性和性能优势,使得它在许多高性能应用场合中占据了一席之地。...

    redis高可用笔记,包括RedisCluster集群方式和完全纯手写Redis缓存框架

    **Redis高可用性详解** Redis,全称Remote Dictionary Server,是一种高性能的键值数据库,广泛应用于缓存、消息中间件、计数等多个场景。为了确保服务的稳定性和可靠性,Redis提供了多种高可用解决方案,其中最...

    网关 gateway 动态路由 及 redis 集成限流

    在现代微服务架构中,网关(如Spring Gateway)扮演着至关重要的角色,它作为系统的统一入口,负责处理请求路由、认证、限流等任务。...这些技术的结合使得微服务架构更加灵活和可控,为开发和运维提供了强大的支持。

Global site tag (gtag.js) - Google Analytics