Redis 和 Memcached 的区别? Redis的高级的数据结构 String、Hash、List、Set、SortedSet。HyperLogLog、Geo、Pub/Sub。那你说还玩过Redis Module,像BloomFilter,RedisSearch,Redis-ML 避免缓存穿透的利器之BloomFilter 如果有大量的key需要设置同一时间过期,一般需要注意什么? 如果大量的key过期时间设置的过于集中,到过期的那个时间点,Redis可能会出现短暂的卡顿现象。严重的话会出现缓存雪崩,我们一般需要在时间上加...
1、什么是redis? 2、Reids的特点 3、使用redis有哪些好处? 4、redis相比memcached有哪些优势? 5、Memcache与Redis的区别都有哪些? 6、redis适用于的场景? 7、redis的缓存失效策略和主键失效机制 8、为什么redis需要把所有数据放到内存中? 9、Redis是单进程单线程的 10、redis的并发竞争问题如何解决? 11、redis常见性能问题和解决方案 12、redis事物的了解CAS(check-and-set 操作实现乐观锁 )? 13、WATCH命令和基于CAS的乐观锁?...
文章目录 Redis介绍Redis特点Redis和Memcached区别 Redis内部数据结构字符串字典压缩列表快速列表跳跃列表为什么Redis选择使用跳表而不是红黑树来实现有序集合?Redis应用分布式锁延时队列位图HyperLogLog布隆过滤器 Gossip协议Redis单进程单线程方式单进程单线程好处单进程单线程弊端其他一些优秀的开源软件采用的模型多路I/O复用模型 Redis快的主要原因Redis主从复制Redis持久化Redis RDB和AOF的优缺点对比以及如何选择RDB和AOF到...
1. Redis是单线程还是多线程? Redis 5以前是单线程,这里说的单线程不是Redis就一个线程,只不过是它的worker线程是单线程。 主要要从工作机制的角度回答它的优缺点。 比如: 单线程图 多线程图 2. Redis缓存技术机制是什么? Redis插数据的时候,会同步一份保存在磁盘上,有两种保存方式AOF(AOF文件)当往Redis里面插数据时,会以日志的方式append追加到AOF文件中,所以AOF里面会有很多原始记录的操作语句,当恢复时会重新执行...
本文参考 嗨客网 Redis面试题Redis集群Twemproxy与Codis Redis常见集群技术 长期以来,Redis 本身仅支持单实例,内存一般最多 10~20GB。这无法支撑大型线上业务系统的需求。而且也造成资源的利用率过低——毕竟现在服务器内存动辄 100~200GB。 为解决单机承载能力不足的问题,各大互联网企业纷纷出手,“自助式” 地实现了集群机制。在这些非官方集群解决方案中,物理上把数据 “分片”(sharding)存储在多个 Redis 实例,一般情况...
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的时候使用。随着操作的进行,哈希表中的键值对会逐渐增多或减少,这时为了让...
1.redis概念 Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能、非关系型(NoSql)的键值对(key-value)数据库 2.redis特征 1.数据间没有必然的关联关系 2.内部采用单线程机制进行工作 3.高性能 4.多数据类型支持 5.支持持久化,可以进行数据灾难恢复 3.redis应用场景 1.为热点数据加速查询(主要场景)。如热点商品,热点新闻,热点资讯等高访问量信息。 2.即时信息查询。如排行榜、公交到站信息、在线人数信...
本文参考 嗨客网 Redis面试题Redis脚本 Redis为什么引入Lua Redis 是高性能的 key-value 内存数据库,在部分场景下,是对关系数据库的良好补充。Redis 提供了非常丰富的指令集,官网上提供了 200 多个命令。但是某些特定领域,需要扩充若干指令原子性执行时,仅使用原生命令便无法完成。Redis 意识到上述问题后,在 2.6 版本推出了 lua 脚本功能,允许开发者使用 Lua 语言编写脚本传到 Redis 中执行。 用户可以向 Redis 服务器发送...
最近有个同学在群里交流心得,他说他面试了 10 个程序员,9 个都“不会”如何让 Redis 的 Value 过期! Redis 的持久化特性是它的一大亮点,但是它并不会被我们用来做持久化存储。因此,如何让 Redis 的 key 或 value 过期就显得非常重要!今天,我就简单的来说一下,这个面试题! Redis 本身是自带的有过期机制的,但是这个过期机制只针对具体的 Key 过期,而 Value 如何过期,没有特定的功能。但是在某些场景下,往往还需要让 Re...
常见问题百万千万级别的数据能否使用keys *命令?为什么? keys和scan的区别 keys用法:keys * scan用法:scan 0 match pip* count 10 解释:从下边是0的位置开始扫描,查找name开头的key,每次查找10条127.0.0.1:6379[10]> scan 0 match "pip*" count 10 1) "327680" 2) 1) "pipline:778732"2) "pipline:694657"3)
Redis 大厂常见面试题 Redis 的应用场景 缓冲排行榜计数器分布式会话分布式锁社交网络最新列表消息系统 详细看 Redis的8大应用场景 Redis 缓冲与数据库的一致性问题 某个时刻,多个系统实例都去更新某个 key。可以基于 Zookeeper 实现分布式锁。每个系统通过 Zookeeper 获取分布式锁,确保同一时间,只能有一个系统实例在操作某个 Key,别人都不允许读和写。 你要写入缓存的数据,都是从 MySQL 里查出来的,都得写入 MySQL 中,写入...
目录 MySQL 1、MySQL 中有哪几种锁? 2.简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别? 3.MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别? 4.什么是脏读,缓读,不可重复读? 5.谈一谈MySQL的优化? 6.什么是内联接、左外联接、右外联接? 7.如何通俗地理解三个范式? 8.什么是基本表?什么是视图?试述视图的优点? 9.MySQL 数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化? 10.简...
rdb和aof的机制 rdb:在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程就是fork的一个子进程,先将数据集写入临时文件,写入成功后在替换之前的文件,用二进制压缩存储。 优点: 1.整个redis数据库只包含一个dump.rdb文件,方便持久化
前言 在过2个月即将进入9月了,然而面对今年的大环境而言,跳槽成功的难度比往年高了很多,很明显的感受就是:对于今年的java开发朋友跳槽面试,无论一面还是二面,都开始考验一个Java程序员的技术功底和基础。对源码解读和核心原理理解也是成了加分项,特别是对 Java 的一些核心基础知识点掌握的不够或者没有体系方向的朋友面试也成了一个苦恼的事情。 今天在这分享目前国内公司Java面试常问的问题包括JVM、常用的算法和数据结构,...
概述 什么是Redis Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许 可)高性能非关系型(NoSQL)的键值对数据库。 Redis 可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值 支持五种数据类型:字符串、列表、集合、散列表、有序集合。 与传统数据库不同的是 Redis 的数据是存在内存中的,所以读写速度非常快, 因此 redis 被广泛应用于缓存方向,每秒可以处理超过 10万次读写操作,是...