【Redis系列--Redis基本知识】教程文章相关的互联网学习教程文章

【Redis系列】经典面试题集合【代码】【图】

文章目录 Redis介绍Redis特点Redis和Memcached区别 Redis内部数据结构字符串字典压缩列表快速列表跳跃列表为什么Redis选择使用跳表而不是红黑树来实现有序集合?Redis应用分布式锁延时队列位图HyperLogLog布隆过滤器 Gossip协议Redis单进程单线程方式单进程单线程好处单进程单线程弊端其他一些优秀的开源软件采用的模型多路I/O复用模型 Redis快的主要原因Redis主从复制Redis持久化Redis RDB和AOF的优缺点对比以及如何选择RDB和AOF到...

【大厂面试题系列】:说说Redis的rehash过程【代码】【图】

Redis的字典由 dict.h/dict 结构如下(rehash的重点) typedef struct dict {//类型特性函数dictType *type;//私有数据void *privdata;//哈希表dictht ht[2];//rehash索引//当rehash没有进行时为-1int trehashidx; }ht 属性是一个包含两个项的数组,数组中的每个项都是一个dictht哈希表,一般情况下使用的都是ht[0]的哈希表,而ht[1]的哈希表只会在rehash的时候使用。随着操作的进行,哈希表中的键值对会逐渐增多或减少,这时为了让...

Redis踩坑系列(二)Spark批量Load大量数据到Redis,主从同步问题【代码】

需求 每天定时批量刷新大量数据进RedisRedis集群是哨兵模式主从同步时间不做要求 现象 Spark批量load数据到redis,主节点没问题,大概10分钟可以写入完成网络IO负载较大,从节点报警is stop,主节点报主从同步异常从节点重启后,从磁盘load数据入内存,十几分钟时间后redis集群恢复正常只要有大量的写都会导致从节点stop,主节点没问题 定位分析 日志 316495:C 19 Mar 16:18:38.002 * RDB: 9198 MB of memory used by copy-on-writ...

Redis系列—底层数据结构【图】

任何一个框架都是由底层数据结构和相应的操作接口编写的,所以要想深入洞悉一个框架,快速找到解决问题的根本,就需要对其底层原理进行剖析。 Redis 之所以快,一方面是因为它是基于内存的,所有的操作都在内存上完成,另一方面要归功于它的数据结构,键值对是按一定的数据结构来组织的,操作键值对最终就是对数据结构进行增删改查操作,所以高效的数据结构是 Redis 快速处理数据的基础 Redis是一个key-value数据库,使用哈希表来保...

Redis系列之主从复制原理与优化

一 什么是主从复制 机器故障;容量瓶颈;QPS瓶颈 一主一从,一主多从 做读写分离 做数据副本 扩展数据性能 一个maskter可以有多个slave 一个slave只能有一个master 数据流向是单向的,从master到slave 1.1 原理1234567891. 副本库通过slaveof 127.0.0.1 6379命令,连接主库,并发送SYNC给主库 2. 主库收到SYNC,会立即触发BGSAVE,后台保存RDB,发送给副本库3. 副本库接收后会应用RDB快照4. 主库会陆续将中间产生的新的操作,保存并发送给...

Redis系列之-Redis-Sentinel【图】

一主从复制高可用123#主从复制存在的问题:#1 主从复制,主节点发生故障,需要做故障转移,可以手动转移:让其中一个slave变成master#2 主从复制,只能主写数据,所以写能力和存储能力有限二架构说明 可以做故障判断,故障转移,通知客户端(其实是一个进程),客户端直接连接sentinel的地址1多个sentinel发现并确认master有问题 2选举触一个sentinel作为领导 3挑选一个奴隶作为新的主人 4通知其余slave成为新的master的slave 5通知...

《Redis系列》第六章:高可用之主从复制【图】

一、高可用性 任何一个技术,无论是Mysql,Oracle 还是Redis,为了保证服务器能够正常运行,不仅需要保持服务器能在其承载的范围内运行,还要保证当某一台服务器宕机以后,其余服务器能够继续提供服务, Redis同样为了保证高可用性,提供了3种高可用方式: 1 主从复制 2 哨兵模式 3 Redis Cluster 本文介绍的Redis如何实现主从复制及实现原理 二、主从复制 2.1 概述 Redis的主从复制,和Mysql的主从复制策略很相似,都是主机数据更新后根...

《Redis》系列一 入门概述/安装【图】

一、Nosql入门概述 1.互联网技术发展 1)单机Mysql的美好年代 在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付。 在那个时候,更多的都是静态网页,动态交互类型的网站不多。 上述架构下,我们来看看数据存储的瓶颈是什么? 1.数据量的总大小 一个机器放不下时 2.数据的索引(B+ Tree)一个机器的内存放不下时 3.访问量(读写混合)一个实例不能承受 2)Memcached(缓存)+MySQL+垂直拆分 后来,随着访问量的上升,...

Redis系列--Redis基本知识【代码】【图】

文章目录 1. 数据库数2. 一些基本命令3. Redis是单线程的 1. 数据库数默认是16个数据库,默认使用的是第一个。 2. 一些基本命令 命令官网查询:http://www.redis.cn/commands.html 命令行连接redis。Linux的redis/src目录下执行 [root@LYX src]# redis-cli测试性能:(100个并发客户端 每秒100000请求) redis-benchmark -h localhost -p 6379 -c 100 -n 100000 # 测试性能可以使用select切换使用的数据库:./redis-cli #连接到redis...

Redis 学习笔记系列文章之 Redis 的安装与配置 (一)【代码】【图】

1. 介绍Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker.这是官方的定义。说它是一个数据库,且是把数据存到内存中,能用作cache(缓存)和消息队列。说到数据库,可能大家用得最多的是关系型数据库,比如MySQL,PostgreSQL等。这种数据库是把数据存到磁盘中的,这种能存大量的数据,然而我们的应用是经常需要访问数据库来查找数据,每次访问,无论怎样,都是...

吃透Redis系列(十一):Jedis和Lettuce客户端详细介绍【代码】【图】

Redis系列文章: 吃透Redis系列(一):Linux下Redis安装 吃透Redis系列(二):Redis六大数据类型详细用法 吃透Redis系列(三):Redis管道,发布/订阅,事物,过期时间 详细介绍 吃透Redis系列(四):布隆(bloom)过滤器详细介绍 吃透Redis系列(五):RDB和AOF持久化详细介绍 吃透Redis系列(六):主从复制详细介绍 吃透Redis系列(七):哨兵机制详细介绍 吃透Redis系列(八):集群详细介绍 吃透Redis系列(九):Redis代理...

Python操作redis系列--列表(list)

<div id="cnblogs_post_body" class="blogpost-body"> <div class="cnblogs_code"><pre># -*- coding: utf-<span style="color: rgba(128, 0, 128, 1)">8</span> -*-<span style="color: rgba(0, 0, 0, 1)">import redisr </span>=redis.Redis(host=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">123.156.74.190</span><span style="color: rgba(128, 0, 0, 1)">"</span>,port=<sp...

深入理解Redis系列之持久化【代码】【图】

redis持久化配置 redis.conf // RDB配置 save 900 1 save 300 10 save 60 10000// AOF配置 appendonly yes//AOF三种同步方式 # appendfsync always appendfsync everysec # appendfsync noRDB配置对应saveparams参数: dirty:距离上一次成功执行SAVE或BGSAVE命令之后,服务器对数据库状态进行了多少次修改RDB和AOF对比因为AOF更新频率通常比RDB文件高,所以:如果服务器开启了AOF,那么服务器优先使用AOF文件来还原数据库状态 只有...

redis系列之------链表【代码】【图】

前言 链表提供了高效的节点重排能力, 以及顺序性的节点访问方式, 并且可以通过增删节点来灵活地调整链表的长度。 作为一种常用数据结构, 链表内置在很多高级的编程语言里面, 因为 Redis 使用的 C 语言并没有内置这种数据结构, 所以 Redis 构建了自己的链表实现。 大家可以把Redis的链表实现,和Java的LinkedList实现进行对比,看下哪个更加厉害一点。 链表定义 1 typedef struct listNode {2 3 // 前置节点4 struct...

Python踩坑系列之使用redis报错:module 'redis' has no attribute 'Redis'问题【代码】【图】

初次使用redis时,在链接Redis后,运行报错“module redis has no attribute Redis ”。 具体代码如下:import redis r = redis.Redis(host=192.168.2.22,port=6379,db=2) r.set(name,Delia) print(r.get(name))报错如下: 尝试性解决方法一: 在Python安装路径下使用pip安装redis,重新运行程序;pip install redis尝试无果。 尝试性解决方法二: 在pycharm中file --> setting --> Project Interpreter 下选择redis进行导入,...