Redis教程
文章平均质量分 92
贺佬湿
一个10年+资深IT互联网老司机,终身学习者。从0到1负责过百亿GMV电商平台的整体架构设计,月GMV从1亿到10亿+,轻松玩转亿级用户流量。Github开源社区的优秀贡献者,开源项目数超过6个,Star数2k+。大到待过国内上市公司、世界500强外企公司,小到创过业,做过物联网、互联网广告、电商等行业赛道。有经历公司在一年内,从100人+,发展到1300人+的团队规模扩展,产研团队近300人,史上最年轻的高级技术总监、首席架构师。目前以技术合伙人在创业ING,做广告变现+跨境电商方向,欢迎交流~
展开
-
【总结】深入剖析 Redis 性能问题及优化方案有哪些
本文将详细分析 Redis 的性能瓶颈,总结当前可用的 Redis 性能优化方案,并结合实际的使用场景给出优化案例。原创 2023-06-20 00:30:00 · 1602 阅读 · 0 评论 -
【总结】介绍一款Redis实时监控工具的搭建和使用/redis-stat
redis-statredis-stat,一款redis指标可视化的实时监控工具,我们目前生产中就在使用了。redis-stat采用ruby开发,基于redis的info命令来统计,不会影响redis性能。redis-stat有两种监控输出的方式:1. 终端直接输出,类似vmstat命令2. 嵌入式web server部署方式,查看dashboard页面...原创 2019-04-13 11:46:26 · 2044 阅读 · 2 评论 -
【总结】Redis连接错误:MISCONF Redis is configured to save RDB snapshots...
Redis问题MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to ...原创 2019-04-13 11:07:38 · 10430 阅读 · 5 评论 -
Redis高可用技术解决方案大全
近来一直在折腾redis高可用的方案,以及优缺点以及如何选择合适的方案线上使用,刚好看到这篇,分享下Redis常见的几种主要使用方式:Redis 单副本Redis 多副本(主从)Redis Sentinel(哨兵)Redis ClusterRedis 自研Redis各种使用方式的优缺点:1 Redis单副本Redis 单副本,采用单个Redis节点部署架构,没有备用节点实时同步数据,不提供数据持久...原创 2018-04-10 11:35:24 · 2788 阅读 · 0 评论 -
缓存与数据库一致性保证
缓存与数据库一致性保证转载 2017-03-16 09:18:52 · 1213 阅读 · 0 评论 -
实时刷新缓存-处理mysql主从延迟的一些设计方案
实时刷新缓存-处理mysql主从延迟的一些设计方案转载 2016-11-18 18:47:19 · 682 阅读 · 0 评论 -
Docker系列~配置外部访问容器中的Redis服务(十)
最近想通过在centos镜像中配置redis服务,从而使外部机器能访问操作步骤1. 创建并启动镜像(我的镜像名字叫做:mycentos-redis:1.0)docker run -i -t -p 192.168.0.152:56379:6379 mycentos-redis:1.0 /bin/bash2. 进入到镜像的命令行,下载redis,并且编译redis,此处不再说明。...原创 2016-11-07 10:34:42 · 16850 阅读 · 0 评论 -
Redis系列~学习资料推荐(二十四)
Redis系列~学习资料推荐(二十四)原创 2016-11-04 19:11:08 · 599 阅读 · 0 评论 -
Redis系列~主从复制(十八)
redis主从复制概述1、Redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。2、通过redis的复制功能可以很好的实现数据库原创 2016-11-03 18:15:54 · 555 阅读 · 0 评论 -
Redis系列~Sentinel使用(二十二)
redis的Sentinelsentinel功能redis的sentinel系统用于管理多个redis服务器,该系统主要执行三个任务:监控、提醒、自动故障转移。 1、监控(Monitoring): Redis Sentinel实时监控主服务器和从服务器运行状态,并且实现自动切换。2、提醒(Notification):当被监控的某个 Redis 服务器原创 2016-11-03 18:07:43 · 774 阅读 · 0 评论 -
Redis系列~Mysql数据同步解决方案整理(二十一)
最近在做一个Redis数据同步到数据库MySQL的功能。自己想了想,也有大概方案。1.队列同步,变跟数据2份,使用消息队列,一份给Redis消费,一份给Mysql消费。2.后台定时任务,定时刷新Redis中信息到数据库。网上也到处找了下解决方案方案一:读: 读redis->没有,读mysql->把mysql数据写回redis写: 写mysql原创 2016-11-03 17:15:59 · 12475 阅读 · 0 评论 -
Redis系列~Redis持久化配置(二十)
对于Redis来说是存储在缓存之中的,因此缓存数据丢失问题一直是程序员们相当关注的话题,因此对缓存中的数据定时进行持久化的必要性就相当突出了,以下是Redis持久化的相关配置:1 第一种: RDB持久化方式1.1概述默认redis是会以快照的形式将数据持久化到磁盘的(一个二进制文件,dump.rdb,这个文件名字可以指定),在配置文件中的格式是转载 2016-11-03 16:53:29 · 602 阅读 · 0 评论 -
Redis系列~集群报错Node is not empty(十九)
遇到的问题及解决办法在redis.conf里bind 真机ip后,接着重新执行每个redis.conf,最后再创建集群,但报错,如下图所示: 这里写图片描述图中报的错即:[ERR] Node 192.168.161.131:7000 is not empty. Either the node already knows other nodes (chec转载 2016-11-02 15:24:40 · 2575 阅读 · 0 评论 -
Redis系列~集群(二十三)
集群 redis主从复制概述1、Redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库原创 2016-11-02 10:27:39 · 809 阅读 · 0 评论 -
Redis系列~(十七)Could not connect to Redis No route to host问题解决
最近一台电脑突然系统崩溃了,想做个新增节点的实验。由于之前装的都是ubuntu操作系统,于是想选个异构的REDHAT试试。在试验第一步,装了个Redis进行看看,才发现远程无法访问,以前由于都装了有SSH,能轻松访问。而这回出现的错误是:Could not connect to Redis at 192.168.2.195:6379: No route to host这转载 2016-10-27 20:24:39 · 11076 阅读 · 0 评论 -
Redis系列~Java中使用Redis(十六)
安装开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java。 Java的安装配置可以参考我们的 Java开发环境配置 接下来让我们安装 Java redis 驱动:首先你需要下载驱动包,去http://search.maven.org/下载jedis.jar包,确保下载最新驱动包。原创 2016-10-27 20:22:54 · 651 阅读 · 0 评论 -
Redis系列~管道技术(十五)
Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。这意味着通常情况下一个请求会遵循以下步骤:客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。服务端处理命令,并将结果返回给客户端。Redis 管道技术Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响原创 2016-10-27 20:19:37 · 386 阅读 · 0 评论 -
Redis系列~安全(十四)
我们可以通过 redis 的配置文件设置密码参数,这样客户端连接到 redis 服务就需要密码验证,这样可以让你的 redis 服务更安全。实例我们可以通过以下命令查看是否设置了密码验证:127.0.0.1:6379> CONFIG get requirepass1) "requirepass"2) ""默认情况下 requirepass 参数是空的,这就意味着你无原创 2016-10-27 20:13:42 · 319 阅读 · 0 评论 -
Redis系列~数据备份与恢复(十三)
Redis SAVE 命令用于创建当前数据库的备份。语法redis Save 命令基本语法如下:redis 127.0.0.1:6379> SAVE 实例redis 127.0.0.1:6379> SAVE OK该命令将在 redis 安装目录中创建dump.rdb文件。恢复数据如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到原创 2016-10-27 20:11:52 · 398 阅读 · 0 评论 -
Redis系列~服务器信息(十二)
Redis 服务器命令主要是用于管理 redis 服务。实例以下实例演示了如何获取 redis 服务器的统计信息:redis 127.0.0.1:6379> INFO# Serverredis_version:2.8.13redis_git_sha1:00000000redis_git_dirty:0redis_build_id:c2238b38b1edb0e2r原创 2016-10-27 20:10:36 · 476 阅读 · 0 评论 -
Redis系列~发布订阅(十一)
Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。Redis 客户端可以订阅任意数量的频道。下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消原创 2016-10-27 20:07:21 · 367 阅读 · 0 评论 -
Redis系列~有序集合(sorted set)(十)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295原创 2016-10-27 20:05:51 · 454 阅读 · 0 评论 -
Redis系列~集合(Set)(九)
Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。实例redis 127.0.0.1:6379> SADD runoobkey redis(原创 2016-10-27 20:03:09 · 388 阅读 · 0 评论 -
Redis系列~列表(List)(八)
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。实例redis 127.0.0.1:6379> LPUSH runoobkey redis(integer) 1redis 127.0.0.1:6379> LPUSH r原创 2016-10-27 20:02:08 · 331 阅读 · 0 评论 -
Redis系列~哈希(Hash)(七)
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。实例127.0.0.1:6379> HMSET runoobkey name "redis tutorial" description "redis basic commands for cac原创 2016-10-27 20:01:02 · 705 阅读 · 0 评论 -
Redis系列~字符串(String)(六)
Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下:语法redis 127.0.0.1:6379> COMMAND KEY_NAME实例redis 127.0.0.1:6379> SET runoobkey redisOKredis 127.0.0.1:6379> GET runoobkey"redis"在以上实例中我们使用了 S原创 2016-10-27 19:59:06 · 393 阅读 · 0 评论 -
Redis系列~键(key)(五)
Redis 键(key)Redis 键命令用于管理 redis 的键。语法Redis 键命令的基本语法如下:redis 127.0.0.1:6379> COMMAND KEY_NAME实例redis 127.0.0.1:6379> SET runoobkey redisOKredis 127.0.0.1:6379> DEL runoobkey(inte原创 2016-10-27 19:57:39 · 443 阅读 · 0 评论 -
Redis系列~命令(四)
Redis 命令要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们之前下载的的 redis 的安装包中。语法Redis 客户端的基本语法为:$ redis-cli实例以下实例讲解了如何启动 redis 客户端:启动 redis 客户端,打开终端并输入命令 redis-cli。该命令会连接本地的 redis原创 2016-10-27 19:54:10 · 375 阅读 · 0 评论 -
Redis系列~数据类型(三)
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。String(字符串)string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如j原创 2016-10-27 19:49:59 · 547 阅读 · 0 评论 -
Redis系列~配置(二)
Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf。你可以通过 CONFIG 命令查看或设置配置项。语法Redis CONFIG 命令格式如下:redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME实例redis 127.0.0.1:6379> CONFIG GET logle原创 2016-10-27 19:49:07 · 424 阅读 · 0 评论 -
Redis系列~安装(一)
Window 下安装下载地址:https://github.com/MSOpenTech/redis/releases。下载到的Redis支持32bit和64bit。根据自己实际情况选择,将64bit的内容cp到自定义盘符安装目录取名redis。 如 C:\reids打开一个cmd窗口 使用cd命令切换目录到 C:\redis 运行redis-server.exe redis.con...原创 2016-10-27 19:43:47 · 1190 阅读 · 0 评论