
NoSQL
文章平均质量分 71
bjgaocp
这个作者很懒,什么都没留下…
展开
-
大厂面试!我和面试官之间关于Redis的一场对弈!
转发自:https://mp.weixin.qq.com/s/e8vCv7CVU7whW-As-AM4gw今天,我不自量力的面试了某大厂的 Java 开发岗位,迎面走来一位风尘仆仆的中年男子,手里拿着屏幕还亮着的 Mac。他冲着我礼貌的笑了笑,然后说了句“不好意思,让你久等了”,然后示意我坐下,说:“我们开始吧,看了你的简历,觉得你对 Redis 应该掌握的不错,我们今天就来讨论下 Redis……”。我想:“来就来,兵来将挡水来土掩”。Redis 是什么????♂️ 面试官 : 你先来说下 Redi转载 2021-01-28 11:37:48 · 303 阅读 · 0 评论 -
Redis工具redis-migrate-tool redis-rdb-tools
软件简介Redis 集群迁移工具,基于redis复制,快速,稳定。特点:快速。多线程。基于redis复制。实时迁移。迁移过程中,源集群不影响对外提供服务。异构迁移。支持Twemproxy集群,redis cluster集群,rdb文件 和 aof文件。过滤功能。当目标集群是Twemproxy,数据会跳过Twemproxy直接导入到后端的redis。迁移状态显示。完善的数据抽样校验。迁移工具的来源可以是:单独的redis实例,twemproxy集群,redis cluster,rd原创 2020-11-12 15:47:17 · 322 阅读 · 1 评论 -
Redis哨兵模式
Sentinel 介绍:redis主从模式下,主节点一旦发生故障不能提供服务,需要人工干预,将从节点提升为主节点,同事还需要修改客户端配置,Sentinel架构解决了redis主从人工干预的问题,redis Sentinel 是redis高可用实现方案,时机声场环境中,对提高整个系统的可用性非常有帮助.Sentinel 主要功能Sentinel 是一个分布式系统,Sentinel 为redis提供高可用,可以在没有人工干预的情况下阻止某种类型的故障Redis 的Sentinel 系统用于管理多个r原创 2020-11-04 14:17:35 · 168 阅读 · 0 评论 -
MongoDB集群备份和恢复
注意:这是replica set或者master/slave模式专用--oploguse oplog for taking a point-in-time snapshotoplog介绍在replica set中oplog是一个定容集合(capped collection),它的默认大小是磁盘空间的5%(可以通过--oplogSizeMB参数修改).位于local库的db....原创 2020-01-20 11:23:19 · 2312 阅读 · 0 评论 -
MongoDB数据备份恢复
备份恢复工具介绍(1)** mongoexport/mongoimport(2)***** mongodump/mongorestore应用场景总结:mongoexport/mongoimport:json csv1、异构平台迁移 mysql <---> mongodb2、同平台,跨大版本:mongodb 2 ----> mongodb 3mongo...原创 2020-01-17 11:11:06 · 430 阅读 · 0 评论 -
MongoDB分片集群使用
RANGE分片配置及测试以范围为基础的分片Sharded Cluster支持将单个集合的数据分散存储在多shard上,用户可以指定根据集合内文档的某个字段即shard key来进行范围分片(range sharding)。对于基于范围的分片,MongoDB按照片键的范围把数据分成不同部分。 假设有一个数字的片键:想象一个从负无穷到正无穷的直线,每一个片键的值都在直线上画了一个点。...原创 2020-01-15 13:41:25 · 636 阅读 · 0 评论 -
MongoDB分片集群搭建
MongoDB 分片在Mongodb里面存在另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求。当MongoDB存储海量的数据时,一台机器可能不足以存储数据,也可能不足以提供可接受的读写吞吐量。这时,我们就可以通过在多台机器上分割数据,使得数据库系统能存储和处理更多的数据。为什么使用分片复制所有的写入操作到主节点 延迟的敏感数据会在主节点查询 单个副本集限制...原创 2020-01-14 15:53:19 · 236 阅读 · 0 评论 -
MongoDB复制集RS(ReplicationSet)
基本原理基本构成是1主2从的结构,自带互相监控投票机制(Raft(MongoDB) Paxos(mysql MGR 用的是变种))如果发生主库宕机,复制集内部会进行投票选举,选择一个新的主库替代原有主库对外提供服务。同时复制集会自动通知客户端程序,主库已经发生切换了。应用就会连接到新的主库。MongoDB 复制(副本集)MongoDB复制是将数据同步在多个服务器的过程。复制...原创 2020-01-13 10:24:24 · 440 阅读 · 0 评论 -
MongoDB用户权限管理
MySQL的登录验证方式为:用户名+密码+IP+端口号MongoDB的登录验证方式为:用户名+密码+IP+端口号+验证库验证库,建立用户时use到的库,在使用用户登录时,要加上验证库才能登录。对于管理员用户,必须在admin下创建1 建用户时,use到的库,就是次用户的验证库(也就是use进哪个库后创建的账号,就是该用户的验证库)2 登录时必须明确指定验证库才能登录3 登录时,...原创 2020-01-10 09:52:09 · 214 阅读 · 0 评论 -
MongoDB基础操作
进入mongodb命令mongo建库建表mongodb是不用事先建好库和表的use itemstest使用use进入itemstest库,如果没有这个库会自动创建,不过在没有写入数据的时候是一个临时库,show databases的时候是看不到这个库的,只有要操作数据后才会存在创建db集合(表)并插入一条数据,这个集合(表)也是不用事先创建的db.db.i...原创 2020-01-09 15:22:00 · 410 阅读 · 0 评论 -
MongoDB安装
什么是MongoDB ?MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及...原创 2020-01-09 10:59:00 · 103 阅读 · 0 评论 -
NoSQL分类
可以将典型的 NoSQL 划分为 4 种类型,分别是键值数据库、列式数据库、文档数据库和图形数据库键值(Key-Value)存储数据库:应用:内容缓存相关产品:Redis、Riak、Memcached、Voldemort, Oracle BDB它使用一个哈希表,表中的 Key(键)用来定位 Value(值),即存储和检索具体的 Value。数据库不能对 Value 进行索引和...原创 2020-01-08 16:29:42 · 283 阅读 · 0 评论 -
memcached服务优化策略
检查memcached命中率[root@web01 ~]# printf “stats\r\n”|nc 127.0.0.1 11211STAT get_hits 1 命中次数STAT get_misses 0 失败次数memcached服务优化策略1提高memcached访问命中率是优化最关键的指标例如:每次新增数据到数据库的同时就将数据写入或复制到memcached里一份,然后从业务...原创 2019-03-13 17:21:49 · 280 阅读 · 0 评论 -
Redis安装
Redis官网https://redis.io/[root@tom01 tools]# tar xf redis-3.0.3.tar.gz[root@tom01 redis-3.0.3]# cd redis-3.0.3[root@tom01 redis-3.0.3]# make PREFIX=/usr/local/redis install启动文件[root@tom01 redis-3...原创 2019-03-12 18:03:47 · 108 阅读 · 0 评论 -
Redis数据类型
redis 5种数据类型1 字符串类型2散列类型hash3 列表类型4 集合类型5 有序集合类型1 字符串类型一般做一些复杂的计数功能的缓存127.0.0.1:6379> set hehe hello hehe是key hello是valuesOK127.0.0.1:6379> get hehe“hello”追加命令 (向key的值后面追加数据)127.0...原创 2019-03-12 18:16:55 · 98 阅读 · 0 评论 -
Reds持久化
支持两种方式RDB 在指定的时间间隔内 把内存的数据快照到磁盘 默认方式AOF 所有server执行的命令记录到磁盘,启动时在执行一遍 在尽量减少丢数据的情况下使用,类似MySQL的binlogRDB模式vim /etc/redis/6379.conf142 save 900 1 900秒有1次改变就快照一次写入磁盘143 save 300 10 300秒有10次改变写入磁盘1...原创 2019-03-12 18:52:45 · 194 阅读 · 0 评论 -
redis主从复制
Redis主从同步Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制配置主从同步Mater Slave的模式,从Slave向Master发起SYNC命令。可以是1 Master 多Slave,可以分层,Slave下可以再接Slave,可扩展成树状结构。已单机多实例为例cd /etc/redis/cp 6379.conf 6380.conf...原创 2019-03-12 23:05:59 · 157 阅读 · 0 评论 -
Redis cluster搭建
集群简单概念1 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施。2 Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行这些命令需要在多个 Redis 节点之间移动数据, 并且在高负载的情况下, 这些命令将降低 Redis 集群的性能, 并导致不可预测的行为。3 Redis 集群通过分区来提供一定程度的可用性: 即使集群中有一部分节点失效或者...原创 2019-03-13 12:02:30 · 507 阅读 · 0 评论 -
redis数据过期策略以及内存淘汰机制
比如你redis只能存5G数据,可是你写了10G,那会删5G的数据。怎么删的,这个问题思考过么?还有,你的数据已经设置了过期时间,但是时间到了,内存占用率还是比较高,有思考过原因么?回答:redis采用的是定期删除+惰性删除策略。为什么不用定时删除策略?定时删除,用一个定时器来负责监视key,过期则自动删除。虽然内存及时释放,但是十分消耗CPU资源。在大并发请求下,CPU要将时间应用在处理...原创 2019-03-13 12:42:48 · 367 阅读 · 0 评论 -
Memcache
Memcached是什么?Memcached 是一个高性能的分布式内存对象缓存系统(不支持持久化),用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。...原创 2019-03-13 13:16:41 · 113 阅读 · 0 评论 -
Memcache安装
官网http://memcached.org/下载地址http://memcached.org/downloads默认端口11211通信UDP协议 集群间memcached无法通讯安装yum 安装版本为memcached-1.4.4-5源码安装memcached 运行需要有 libevent 库的支持,因为memcached需要支持非阻塞的IO访问源码安装 libevent...原创 2019-03-13 16:19:21 · 165 阅读 · 0 评论 -
memcache内存管理机制
malloc内存管理机制 早期salb内存管理机制 现在使用Memcached的数据存储方式Memcached的数据存储方式被称为slab(片)其基本方式是:(a)先把内存分成很多个片,这个大小是预先规定好的(默认1M),以解决内存碎片问题。 分配给片的内存空间被称为Page(页)。一个Slab下可以有多个Page。 (如下图:在Memcached实例中先把内存分了n个sl...原创 2019-03-13 17:18:32 · 423 阅读 · 0 评论 -
Redis
redis是什么redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。redis的应用场景有哪些1,会话缓存(最常用)2,消息队列,比如支付3,活动排行榜或计数4,发布,订阅消息(消息通知)5,商品列表,评论列表等为什...原创 2019-03-12 16:09:24 · 180 阅读 · 0 评论