ZyBlog
码农老张
  • 首页
  • PHP文章
  • 存储运维
  • 项目产品
  • 路线图
【Redis27】Redis进阶:配置文件(一)

对于配置文件来说,往往是很多大佬们入手运维优化的第一步,因此我们想要真正的进阶,就一定要看看配置文件中有哪些可以配置的地方,有哪些可以优化的配置点。当然,咱也不是特别专业,有很多配置也不知道是啥意思,更不知道应该配成什么才是最好的。既然这样,那就一起来学学呗。

分类:存储运维 标签:Redis
【Redis26】Redis进阶:RESP协议-使用PHP手撸一个客户端

应用软件和数据库或者说和其它外部程序是怎么连接的呢?大部分同学应该都知道,基本都是通过 TCP 建立连接来进行通信的,不过也有像 ES 这种直接通过 HTTP 发请求来操作的。Redis 和大部分的数据库软件都是类似的,通过的是 TCP 连接的。另外还有 UnixSocket 这种形式,不过这种只能应用在本地。

分类:存储运维 标签:Redis
【Redis25】Redis进阶:分布式锁实现

锁这个概念,不知道大家掌握的怎么样。我是先通过 Java ,知道在编程语言中是如何使用锁的。一般 Java 的例子会是操作一个相同的文件,但其实我们知道,不管是文件,还是数据库中的一条数据,只要是多个进程或者线程共享的,需要共同操作的数据,都会因为异步读写而带来一些这问题,这些问题最终的解决方案往往就是通过锁。

分类:存储运维 标签:Redis
【Redis24】Redis进阶:分布式部署RedisCluster(二)

上回学习的到内容大家自己试了没?搭建起来应该难度不大的,今天我们就继续学习。分布式开发中,最常见的一个问题就是怎么扩展。本身我们做分布式,就是因为单机处理性能不够,通过多机来并行处理,就你是单线程和多线程的区别。

分类:存储运维 标签:Redis
【Redis23】Redis进阶:分布式部署RedisCluster(一)

久闻大名,但其实之前咱也从来没自己配过,借着这回学习的机会,深入地了解了一下 Redis 中这个自带的分布式方案。之前的文章中就说过,Redis 的核心命令处理是单线程的,并且官方推荐的多线程处理方案就是使用分布式的方式,多来几个实例,达到同时多个实例可以共同处理请求的目的。另外,由于 Redis 本身的核心业务是内存缓存应用,单台服务器的内存上限以及 RDB 持久化都会对内存提出不小的挑战,而如果使用分布式,则可以很好地解决这个问题。

分类:存储运维 标签:Redis
【Redis22】Redis进阶:哨兵机制RedisSentinel

上回讲主从复制时,我们留了一个问题,那就是手动切换主从库实在是太麻烦了。别担心,Redis 的作者们早就为我们想到这个情况啦,哨兵功能就是为了这个而生的。

分类:存储运维 标签:Redis
【Redis21】Redis进阶:主从复制

对于大型企业来说,一台 Redis 实例要保证可用性,往往会配置主从库。这一点上其实和 MySQL 是一样的,我们绝大部分的业务需求通常的情况都是读多写少。在这种情况下,合理的分摊读库请求,就可以大大加强请求的响应速度。对比 MySQL 来说,Redis 的主从复制简单的没朋友。

分类:存储运维 标签:Redis
【Redis20】Redis进阶:线程与安全问题

之前我们其实已经提到过,Redis 是单线程的,那么,为什么它的作者坚持只使用单线程呢?在 Redis 6 之后,也增加了多线程的内容,但是这个多线程并不是说命令处理实现了多线程,而只是网络IO部分,为什么又仅仅只是给这一块增加了多线程呢?最后,我们还要看一看 Redis 中的安全问题。

分类:存储运维 标签:Redis
【Redis19】Redis进阶:持久化策略

从最早接触 Redis 开始,我们就知道它是一个内存数据库,这是它的优势,也是它的劣势。为啥这么说呢?内存速度快,但是断电或者重启即丢。然而,要做为一个生产环境所能使用的数据库系统,将数据持久化就成为了一个必要的能力。毕竟我们可不想重启 Redis 之后,每个生产缓存都要从头重建一遍,最好是重启的时候直接就帮我们将之前已经保存的数据重新加载进来。这就是 Redis 持久化要干的事。

分类:存储运维 标签:Redis
【Redis18】Redis进阶:内存回收策略

今天的内容很偏理论,不过也只是对于官方文档的一个补充而已,所以大家也不必有很大的心理负担。理论的东西,多看几遍就理解了,读书百遍其义自现嘛。即使不理解,当八股文背下来也没啥坏处。

分类:存储运维 标签:Redis
【Redis17】Redis进阶:管道

管道是啥?我们做开发的同学们经常会在 Linux 环境中用到管道命令,比如 ps -ef | grep php 。在之前学习 Laravel框架时的 【Laravel6.4】管道过滤器* 这篇文章中,我们也详细的讲过管道这个概念。如果有不清楚的小伙伴可以回去复习一下哦。

分类:存储运维 标签:Redis
【Redis16】Redis进阶:内存优化

在基础学习的最后一篇,我们了解到了 Redis 的底层数据类型可以通过 OBJECT ENCODING 来进行查看。也了解过一些关于这些底层数据类型的知识。今天,我们就来更加深入的学习一下这些底层的数据类型,并据此来了解在 Redis 中是如何通过这些数据类型进行内存优化的。

分类:存储运维 标签:Redis
【Redis15】Redis基础:通用命令(二)

今天我们继续学习 Redis 剩余的一些通用命令。这些命令也都是非常简单的命令,而且更重要的是,今天的内容是我们基础部分的最后一篇了哦,大家可要卯足精神坚持学完啦。

分类:存储运维 标签:Redis
【Redis14】Redis基础:通用命令(一)

我们已经学过了很多命令,但是有些通用命令是和具体的数据类型或者某些具体的功能无关的。它们主要是为一些通用功能提供的一些命令,就像是我们在业务开发的时候经常会写的那些通用函数一样。这些命令其实都比较简单,但是大部分同学可能还会有很多命令完全没用过。就像我一样,没有系统学习之前,我也真的只知道 GET 和 SET 。

分类:存储运维 标签:Redis
【Redis13】Redis基础:事务与Lua脚本命令

对于一个传统关系型数据库系统来说,事务是非常重要的一个组成部分。但是,在 NoSQL 相关的数据库中,为了效率以及实现形式的不同,事务远达不到真正的关系型数据库中的那种 ACID 的控制级别。今天,我们就来学习一下 Redis 中的事务操作。另外,我们还会简单地看一下在 Redis 中如何去执行 Lua 脚本程序。

分类:存储运维 标签:Redis
【Redis12】Redis基础:ACL与GEO命令

标题说的可能不太清楚,ACL 是权限控制,GEO 是地理位置信息。是不是感觉高大上又很好玩?ACL 是新东西,Redis6 之后才出来的,而 GEO 相关的功能就比较早了,Redis3.2 版本的时候就已经有了。那么我们就一个一个的来看看吧。

分类:存储运维 标签:Redis
【Redis11】Redis基础:服务端操作

上回我们已经学习过了客户端的一些操作命令,今天我们就来继续学习服务器端的一些操作命令。这些命令其实平常用得比较多的也就那么几个,通常就是看一看服务器的一些相关信息。

分类:存储运维 标签:Redis
【Redis10】Redis基础:客户端操作

今天我们学习的内容是一些普通的客户端操作,这些内容有的可能你天天都会用到,而有的可能根本都没听说过。好吧,说得就是我,没有系统的学习之前真的很多命令都不清楚,甚至完全就是不知道的状态。当然,无知者无畏,这个无畏就是要面对学习无所畏惧。

分类:存储运维 标签:Redis
【Redis09】Redis基础:Stream操作

又来一个不好理解的东西,Stream 类型,而且它是整个 Redis 中对于数据操作最复杂的一种类型。但话又说回来,其实这个东西吧,还是个队列,只不过又是一种换了形式的队列。并且呢,据说是受到很多 Kafka 的影响,我对于 Kafka 仅仅是搭过环境的水平,完全没法用它来进行比较,所以我们的重点还是以理解 Redis 中的 Stream 为主吧。

分类:存储运维 标签:Redis
【Redis08】Redis基础:发布订阅Pub/Sub相关操作

发布订阅的概念不知道大家有没有接触过,其实呀,简单点理解,就像是我写的这篇文章,发布出来之后大家都看到了,我就是一个发布者(或生产者),而各位看客您呢,那就是订阅者(或消费者)。

分类:存储运维 标签:Redis
  • <<
  • ...
  • 6
  • 7
  • 8
  • ...
  • >>