玖叶教程网

前端编程开发入门

含泪整理Redis相关面试题大全

1、什么是redis?redis有哪些优缺点?

redis是一个C语言编写的开源的高性能NOSQL键值对数据库吗,支持5种数据类型:字符串,列表,集合,散列表,有序集合。

与传统数据库不一样,Redis数据存储在内存中,读写速度非常快,redis被广泛应用于缓存,每秒可处理超过10w次的读写操作。

优点
    读写性能优异,读11w次/s, 写8w次/s

    支持事务,redis所有操作都是原子性的,还支持几个操作合并也是原子性的

Redis事务简单了解一下

关系数据库中的事务,小伙伴们应该是不陌生了,不管是在开发还是在面试过程中,总有两个问题逃不掉:

一篇图文,搞定Redis事务

在面试的时候,通常会被问到redis是如何实现分布式锁的。如果我们只知道是借助于setnx/setex ,而不了解setnx/setex底层如何实现,那基本上是无法过关的,尤其是大厂。那究竟redis是怎么实现事务的呢?

1、redis事务的用法

redis支持事务操作。它的实现依赖于multi 和exec 关键字。其中,multi表示事务开启,exec表示执行multi到exec之间的语句块。系统检测multi 语句后,会将其后的命令添加到命令队列中去,直到遇到exec时,才一并执行,不会被中断。具体使用如图所示:

Redis中的Multi事务

一、概述

Redis中的Multi和Pipleline都可以一次性执行多个命令,但是Pipeline只是把多个redis指令一起发出去,redis并没有保证这些指令执行的顺序,且减少了多次网络传递的开销,因而其执行效率很高;Multi相当于一个redis的transaction,保证整个操作的有序性,通过watch这些key,可以避免这些key在事务的执行过程中被其它的命令修改,从而导致得的到结果不是所期望的。

Redis的事务功能详解

MULTIEXECDISCARDWATCH命令是Redis事务功能的基础。Redis事务允许在一次单独的步骤中执行一组命令,并且可以保证如下两个重要事项:

    跟我一起学Redis之Redis事务简单了解一下

    前言

    关系数据库中的事务,小伙伴们应该是不陌生了,不管是在开发还是在面试过程中,总有两个问题逃不掉:

    • 说说事务得特性;
    • 事务隔离级别是怎么一回事?

    事务处理不好,数据就可能不准确,最终就会导致业务出问题;借此机会简单回顾一下事务特性及其隔离级别,就当是复习了;

    Redis 分布式锁:乐观锁的实现,以秒杀系统为例

    乐观锁

    大多数是基于数据版本(version)的记录机制实现的。即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个”version”字段来实现读取出数据时,将此版本号一同读出,之后更新时,对此版本号加1。此时,将提交数据的版本号与数据库表对应记录的当前版本号进行比对,如果提交的数据版本号大于数据库当前版本号,则予以更新,否则认为是过期数据。

    使用Watchtower自动更新Docker镜像与容器

    概述

    Docker 容器的部署有一种在手机上装 App 的感觉,但 Docker 容器并不会像手机 App 那样会自动更新,而如果我们需要更新容器一般需要以下四个步骤:

    Watchdogs利用Redis实施大规模挖矿,常见数据库蠕虫如何破?

    背景

    2月20日17时许,阿里云安全监测到一起大规模挖矿事件,判断为Watchdogs蠕虫导致,并在第一时间进行了应急处置。

    该蠕虫短时间内即造成大量Linux主机沦陷,一方面是利用Redis未授权访问和弱密码这两种常见的配置问题进行传播,另一方面从known_hosts文件读取ip列表,用于登录信任该主机的其他主机。这两种传播手段都不是第一次用于蠕虫,但结合在一起爆发出巨大的威力。

    Twemproxy结合watchdog搭建redis服务器


    Redis集群搭建的目的其实也就是集群搭建的目的,所有的集群主要都是为了解决一个问题,横向扩展。使用proxy就可以实现。

    源码:https://github.com/twitter/twemproxy

    1. 首先,选一台安装了zookeeper的机器。

    2. 这里不讲解如何安装zookeeper。将twemproxy-master解压到目录/data下。

    << 1 2 3 4 5 6 7 8 > >>
    控制面板
    您好,欢迎到访网站!
      查看权限
    网站分类
    最新留言