首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏日常工作总结

    Redis总结

    【持久化设置】 对于redis,有两种持久化方式:rdb和aof rdb:后台定期生成一个dump文件,保存当前redis内存中所有的数据 aof:类似日志,记录所有的操作命令 save 900 1 save 绝对路径/start.sh 【常用命令】 查看redis运行日志 cat . /logs/redis.log 查看redis当前pid cat ./pidfile/redis.pid 关闭redis kill -9 redis的pid 启动redis . /start.sh 连接redis . 8G,这个时候也要同样分配8G的内存给child,如果内存无法负担,往往会造成redis服务器的down机或者IO负载过高,效率下降。

    1.3K40发布于 2018-07-25
  • 来自专栏叨叨软件测试

    Redis 日常脚本

    需求背景 生产 Redis 日常需要。 前提 添加 Redis 可执行命令到系统环境变量中。 日常脚本 8Copyright Copyright (c) jiangliheng 9License GNU General Public License 概要 redis-tools.sh 日常脚本 13# Copyright Copyright (c) jiangliheng 14# License GNU General Public 日常脚本 23#% 24#%概要(SYNOPSIS) 25#% sh ${SCRIPT_NAME} [option] <value> ... 26#% 27#%描述(DESCRIPTION ) 28#% Redis 日常脚本 29#% 30#%选项(OPTIONS) 31#% -h<value>, --host=<value> Redis

    1.5K20发布于 2020-05-07
  • 来自专栏Kubernetes 与 Devops 干货分享

    Redis及优化

    Redis 安装 1、下载Redis二进制文件 wget https://download.redis.io/releases/redis-5.0.14.tar.gz 2、解压 3、编译 4、安装 5、启动 # 配置开机启动 [Unit] Description=Redis After=network.target [Service] User=admin Type=forking ExecStart =/usr/local/redis/bin/redis-server /home/admin/redis/etc/redis.conf ExecStop=/usr/lcoal/redis/bin/redis-cli -h 127.0.0.1 -p 6379 shutdown [Install] WantedBy=multi-user.target # 启动 systemctl enable redis-server systemctl start redis-server

    56320编辑于 2022-10-31
  • 来自专栏悦专栏

    8Redis 经验,我踩了哪些坑

    嘉宾介绍 朱文潇 ,大型互联网公司 8Redis 实战经验,多次以核心身份主导 Redis 框架方案设计及落地实施,对 Redis 服务有深刻理解,对多种 Redis 实现方案都有独到的见解。 3 在工作这 8 年,生产环境使用过哪些 Redis 架构?都有哪些优缺点?踩到过哪些坑? 3)Codis 集群高可用方案:一款分布式缓存高可用集群产品,提供了配套的客户端,提供了动态数据迁移,内置高可用方案,产品设计解决了大部分痛点;同样,如果想阅读更多关于 Codis 的内容,可以点击我之前出的一篇文章 从 Redis 2.X 到 Redis 3.X 以上版本需要投入很多测试,整体的技术也有很大的变化,需要不断的研究、不断的学习,这也是对人员的考验。 4 所维护的集群最大 QPS 是多少? 1)Redis 源代码并不长,有能力的一定要好好欣赏一下作者的代码艺术; 2)付磊、张益军两位老师编写的《Redis 开发与》,有原理解读,有实战经验,值得一看; 3)Redis 社区活跃度比较高,

    45120编辑于 2022-04-25
  • 来自专栏DBA随笔

    Redis之swap空间

    Redis之swap空间 swap空间对于操作系统来说比较重要,当我们使用操作系统的时候,如果系统内存不足,常常会将一部分内存数据页进行swap操作,以解决临时的内存困境。 下面以一个Redis实例进行说明: [root@VM-0-14-centos ~]# ps -ef|grep redis root 1711 1 0 Jul20 ? 00:20:15 src/redis-server 127.0.0.1:21243 root 2370 1 0 Jul20 ? =auto redis root 14804 1 0 Jul20 ? 00:20:39 redis-server *:6379 我们以14804这个redis进程为例 [root@VM-0-14-centos ~]# cat /proc/14804/smaps | grep

    2.2K10发布于 2020-08-18
  • 来自专栏网站漏洞修补

    LinuxRedis安全

    说说IT维那些事,服务器如果不注意安全的话,就有可能会被入侵,特别是安装了redis的Linux服务器,如果安全防范没做好的话,更有可能会被入侵,被入侵以后会有很多种危害,那么我总结了有以下几种危害, 第四,严重影响公司的形象,你想服务器都被入侵了,那么公司的形象是不是会受到影响,下面我总结了一些防御的方法,修改redis配置文件的一些参数,比如说我的redis的配置文件里面有一些比较重要的参数,这里和大家一起探讨一下 比如说这个参数protected-mode yes就是打开保护模式,如果把这个参数关闭了以后,外部的网络就可以直接访问redis,非常的危险,那么我们要做的就是把这个保护模式打开,并且为redis添加密码验证 下面这条参数内on come on de,flew Shaw他的意思是删除,redis是中所有数据库中的所有数据,并且该命令是原子性的,不会被终止执行,一旦执行将不会执行失败,非常的危险。 第四个防火墙的防护设置只允许特定的IP来连接redis服务的6379端口,比如你设定只有192.168.8.100这台机器才能够连接redis的6379端口,或者你改了端口以后的7379端口,那么其他不在白名单里面的机器

    9.6K10编辑于 2022-03-01
  • 来自专栏JMCui

    Redis学习四(指南).

    一、上线规划 一般 redis 的参数配置都在 redis.conf 中,在上线前根据实际环境配置好合适参数,能有效提高 redis 的可用性。 redis 的运行机器 CPU 不求核数多,但求主频高,Cache大,因为 redis 主处理模式是单进程的。 留意 redis 日志文件的配置,对应 logfile 参数。 affinity list: 0-3 pid 15361's new affinity list: 3 二、常见操作 服务功能 启动 redisredis-server redis.conf 启动 redis-sentinel:redis-sentinel sentinel.conf 停止 redis,注意 kill -9 关闭可能会丢失数据:redis-cli shutdown 验证密码( --pipe 服务性能 查看连接的客户端:client list 探测服务是否可用(返回 pong 说明正常):ping 探测服务延迟,千兆网卡一般延迟在 0.16ms 左右: [root@localhost

    69340发布于 2019-10-28
  • 来自专栏悦专栏

    Redis 实战 第09期:Redis 规范

    审稿人 无为,前饿了么 MySQL DBA,现就职于某知名互联网公司,对 MySQL、 Redis、PostgrepSQL 等主流数据库有一定了解,拥有丰富的一线经验。 这是专栏《Redis 实战》的最后一篇,感谢您的阅读。也感谢 9 篇文章的审稿人:无为,提出了多个修改建议,让文章内容更全面。 专栏《Redis 实战》系列文章推荐 Redis 实战 第01期:Redis 复制 Redis 实战 第02期:Redis Cluster Redis 实战 第03期:Codis Redis 实战 第04期:AOF 持久化 Redis 实战 第05期:RDB 持久化 Redis 实战 第06期:Bigkey Redis 实战 第07期:Hotkey Redis 实战 第 08期:监控 Redis 实战 第09期:Redis 规范

    1K40编辑于 2022-04-25
  • 来自专栏悦专栏

    Redis 实战 第01期:Redis 复制

    从这篇文章开始,将出几期 Redis 实战相关的内容,大致包括:Redis 主从、Redis 集群、持久化、大 key、热 key、Redis 监控以及 Redis 规范等。 本节先从 Redis 主从复制开始聊。 首先来看 Redis 复制的配置: 1 配置 Redis 主从复制 1.1 配置复制 Redis 安装可以参考官方文档(https://redis.io/download),配置 Redis 主从复制的方法如下 (本节内容的 Redis 版本为 6.0): 直接登录 Redis 之后,在从节点执行如下命令: replicaof {masterHost} {masterPort} 拓展: Redis 5.0 之前配置复制是使用 在笔者几年的 Redis 工作中,多多少少会遇到一些与复制相关的问题。这里就选几个比较典型的来跟各位朋友分享,也方便你们在后续工作中绕过这些坑。

    46030编辑于 2022-04-25
  • 来自专栏悦专栏

    Redis 实战 第02期:Redis Cluster

    redis-cli --cluster add-node 127.0.0.1:7008 127.0.0.1:7001 --cluster-slave --cluster-master-id c9d5817021fe802c094806a79c3c52a37b8b15f5 c9d5817021fe802c094806a79c3c52a37b8b15f5 --cluster-to 99d09213eab4bd707e4923d6574182e23384b765 --cluster-slots 查看集群信息,发现 7007 节点没任何槽了 然后删除节点 redis-cli --cluster del-node 127.0.0.1:7001 c9d5817021fe802c094806a79c3c52a37b8b15f5 7 集群优势 这里再总结下 Redis cluster 的一些优势 无中心架构 动态扩缩容:如本节内容,Redis 可支持动态扩缩容 高可用性:部分节点不可用时,集群仍可用 8 集群限制 Redis Cluster 与 Redis 单机版相比,存在一些限制,我们在运或者开发过程,应该提前了解的,这里就总结几点限制: key 批量操作支持有限。

    64350编辑于 2022-04-25
  • 来自专栏DBA随笔

    Redis开发与学习笔记

    // Redis开发与学习笔记---(17) // Redis Sentinel实现原理---(一) 前面的文章讲述了redis sentinel可以实现对redis master的可用性监控和故障转移 三个定时监控任务 Redis Sentinel通过三个定时监控任务完成对各个节点的发现和监控。 b、当有新的从节点加入时,都可以立刻感应出来 c、节点不可达或者故障转移之后,可以通过info命令实时更新节点的拓扑信息 任务二: 每隔2s,每隔sentinel节点会向redis数据节点的__sentinel

    67020发布于 2020-04-27
  • 来自专栏对线JAVA面试

    面试系列之-Redis工具

    监控 Redis-exporter就是用来监控Redis的,它将INFO命令监控到的运行状态和各种统计信息提供给Prometheus,从而进行可视化展示和报警设置;除了获取Redis实例的运行状态,Redis-exporter 命令行选项,让Redis-exporter运行这个特定的脚本,从而可以满足业务层的多样化监控需求; 数据迁移工具 Redis-shake redis-shake的基本运行原理,是先启动Redis-shake 接着,源实例会再把增量命令发送给Redis-shake,Redis-shake负责把这些增量命令再同步给目的实例; 数据对比Redis-full-check redis-full-check的工作原理很简单 的值设置为想要比对的轮数,等到所有轮数都比对完成后,数据库中记录的数据就是源实例和目的实例最终的差异结果了; 集群管理工具 CacheCloud 针对常见的集群需求,CacheCloud提供了5个操作 当然,作为管理平台,CacheCloud除了提供操作以外,还提供了丰富的监控信息,CacheCloud不仅会收集INFO命令提供的实例实时运行状态信息,进行可视化展示,而且还会把实例运行状态信息保存下来

    38221编辑于 2023-08-21
  • 来自专栏转行程序员

    Redis探险 -《Redis开发与》笔记,精华分享。

    最近看完了《Redis开发与》分享给大家。 全面讲解Redis基本功能及其应用,并结合线上开发与监控中的实际使用案例,深入分析并总结了实际开发运中遇到的“陷阱”,以及背后的原因, 包含大规模集群开发与管理的场景、应用案例与开发技巧,为高效开发运提供了大量实际经验和建议 Redis监控云平台CacheCloud。 大力推荐 ,不管是 redis 新手 老手,都能学到很多。 Redis相关书籍里面内容属于特别上乘的。 Pipeline(流水线)机制能将一组 Redis命令进行组装,通过一次 RTT传输给 Redis,再将这组 Redis命令的执行结果按顺序返回给客户端。

    82930发布于 2019-08-29
  • 来自专栏DBA随笔

    Redis开发与学习笔记---(11)

    Redis开发与学习笔记---(11) Redis开发与中遇到的问题 之前的文章中,我们讲述了redis的复制机制,通过复制,数据可以被备份,然后这些备份的副本可以用来做读写分离、负载均衡、故障转移等 定时删除指的是redis主节点在内部定时任务会循环采样一定数量的键值,当发现采样的键值过期时,执行del命令,之后再同步给从节点。 以上所述为使用Redis做读写分离是存在的成本,Redis本身的性能非常高,开发人员在使用额外的从节点提升读性能之前,尽量在主节点上做充分的优化,提前解决慢查询、持久化阻塞等问题。 3 规避全量复制 我们知道,全量复制是一个非常消耗资源的操作,如何规避全量复制是需要我们关注的点。 2、单机器复制风暴 由于redis是单线程架构,通常单台机器会部署对个redis实例,当一台机器上同时部署多台机器时,如果这台机器出现故障或者网络长时间中断,当它恢复后,会有大量从节点针对这台机器上的主节点进行全量复制

    53610发布于 2020-04-14
  • 来自专栏DBA随笔

    Redis开发与学习笔记---(14)

    // Redis开发与学习笔记---(14) // Redis内存优化 我们知道redis的数据都保存在内存中,如何高效利用内存变得尤为重要。 01 redisobject Redis使用object结构体来保存redis对象, 一个redisobject包含下面几个方面的内容: type:对象类型,包含string,hash,list, set,zset等类型 encoding(内部编码类型):redis的内部编码类型。 如user:frends可简化为u:fs value长度缩减,首先是避免不必要的对象属性等,其次是将业务对象序列化成二进制数组放入redis,或者使用json、xml等将对象作为字符串存储在Redis中 04 字符串优化 redis没有使用c的原生字符串类型,而是自己实现了字符串结构。

    47120发布于 2020-04-26
  • 来自专栏DBA随笔

    Redis开发与学习笔记---(16)

    // Redis开发与学习笔记---(16) // Redis Sentinel的几个重要参数 第15篇文章中我们讲述了sentine的基本搭建办法,今天我们来说说,sentinel的几个重要参数 name" 2) "mymaster" 3) "ip" 4) "127.0.0.1" 5) "port" 6) "6379" 7) "runid" 8) "2ba04c1d8f837f2e419f6f5390c0d5938a6895f4" 9) "flags" 10) "master" 11) "pending-commands" 的日常中非常有用。 8、sentinel ckquorum master-name 检测当前可达的sentinel节点总数是否达到了quorum的个数,例如quorum的值为3,而当前的可达的sentinel节点个数为2

    56120发布于 2020-04-26
  • 来自专栏悦专栏

    Redis 实战 第06期:Bigkey

    过期时可能阻塞:如果 Bigkey 设置了过期时间,当过期后,这个 key 会被删除,假如没有使用 Redis 4.0 的过期异步删除,就会存在阻塞 Redis 的可能性,并且慢查询中查不到(因为这个删除是内部循环事件 安装 redis-rdb-tools,参考 GitHub(https://github.com/sripathikrishnan/redis-rdb-tools)。 3.5 其他第三方工具 例如:redis-rdb-cli 地址:https://github.com/leonchen83/redis-rdb-cli 4 优化 Bigkey 找到 Bigkey 后,怎么优化呢 但是要注意的是:如果直接 del,可能会阻塞 Redis 服务。 4.4 更换数据库 其实有些场景下,使用 Redis 并不是最优的选择,比如长文本,如果放在 Redis 中,很可能就是一个 Bigkey,因此建议不要存入 Redis,用文档型数据库 MongoDB

    62830编辑于 2022-04-25
  • 来自专栏悦专栏

    Redis 实战 第03期:Codis

    在前面,我们提到了 Redis 集群方案 Redis Cluster,今天我们来聊聊 Redis 另外一种比较受欢迎的集群方案:Codis。 ,相对 Redis 3.2.8,其变化可以参考官方文档:Redis 修改部分。 集群方案 优点 缺点 Codis 平滑扩容支持读写分离拥有管理平台多线程 Codis 集群整体性能比单个 Redis 性能有所下降依赖 zk跟不上官方高版本 Redis 的新功能 Twemproxy 分布式 不支持平滑扩容难度大单线程 Redis cluster 无Proxy,直连性能较高支持平滑扩容无中心架构 读写分离实现复杂不支持 pipeline维护成本高客户端必须支持集群协议 6 与 专栏《Redis 实战》系列文章推荐 Redis 实战 第01期:Redis 复制 Redis 实战 第02期:Redis Cluster

    67230编辑于 2022-04-25
  • 来自专栏DBA随笔

    Redis开发与学习笔记---(13)

    // Redis开发与学习笔记---(13) // 如何高效利用Redis内存 我们知道redis的数据都保存在内存中,如何高效利用内存变得尤为重要。 如果该值小于1,这种情况一般出现在操作系统把Redis的内存交换到硬盘导致,这会导致Redis性能变得很差,需要格外注意。 mem_allocator:Redis所使用的内存分配器 redis的内存消耗,主要包含下面4个方面: 自身内存; 对象内存; 缓冲内存; 内存碎片; 其中redis空进程自身占用的内存消耗很少, 这部分空间占用通常很小 内存碎片:Redis默认采用jemalloc内存分配器,jemalloc分配内存的时候是按照内存块来分配的,如果要保存5kb的内容,可能会采用8kb的内存块来保存,剩余的3kb 当redis由于内存溢出删除键时,可以通过info stats命令来查看evicted_keys指标找出当前redis服务器已经删除的键数量。

    65220发布于 2020-04-27
  • 来自专栏DBA随笔

    Redis开发与学习笔记---(3)

    Redis-cli详解 Redis提供了redis-cli、redis-server、redis-benchmart等shell工具,今天对这些工具做下介绍。 --pipe --pipe选项用于将命令封装成Redis通信协议定义的数据格式,批量发送给redis执行。 的重要统计信息,虽然info命令中的统计信息更全,但是能够实时看到一些增量数据,对于redis还是有一定帮助。 详解 redis-server是用来启动redis服务的,常用的启动方式有下面几种: 1、直接启动:redis-server即可 2、增加配置参数: redis-server --configkey1 例如: redis-server --port 6380 3、配置文件启动 redis-server /dir/redis.conf 除了启动redis之外,还有一个选项--test-memory,

    53420发布于 2020-03-31
领券