草庐IT

Redis 知识总结

  1.Redis概览Redis和memcache的区别,Redis支持的数据类型应用场景redis支持的数据结构更丰富(string,hash,list,set,zset)。memcache只支持key-value的存储;redis原生支持集群,memcache没有原生的集群模式。 2.Redis单线程模型redis单线程处理请求流程redis采用IO多路复用机制来处理请求,采用reactorIO模型,处理流程如下:首先接收到客户端的socket请求,多路复用器将socket转给连接应答处理器;连接应答处理器将AE_READABLE事件与命令请求处理器关联(这里是把socket事件放入一个队

MongoDB 全方位知识图谱

MongoDB是一个强大的分布式存储引擎,天然支持高可用、分布式和灵活设计。MongoDB的一个很重要的设计理念是:服务端只关注底层核心能力的输出,至于怎么用,就尽可能的将工作交个客户端去决策。这也就是MongoDB灵活性的保证,但是灵活性带来的代价就是使用成本的提升。与MySql相比,想要用好MongoDB,减少在项目中出问题,用户需要掌握的东西更多。本文致力于全方位的介绍MongoDB的理论和应用知识,目标是让大家可以通过阅读这篇文章之后能够掌握MongoDB的常用知识,具备在实际项目中高效应用MongoDB的能力。本文既有MongoDB基础知识也有相对深入的进阶知识,同时适用于对Mono

[源码阅读]-Redis核心事件流程

Redis核心流程?本文分析基于Redis-1.0源码,核心流程代码主要分布在redis.c,ae.c两个文件中。Notion版本1.Redis核心流程中的重要数据结构structredisServer{intport;intfd;redisDb*db;aeEventLoop*el;list*clients;...};typedefstructredisClient{intfd;redisDb*db;sdsquerybuf;list*reply;}redisClient;typedefstructredisDb{dict*dict;dict*expires;intid;}redisDb;typ

Installation RocketMQ-4.9.2 on CentOS 7.9

一、InstallationRocketMQ-4.9.2onCentOS7.9地址:https://rocketmq.apache.orghttps://github.com/apache/rocketmqhttps://archive.apache.org/dist/rocketmq/4.9.2/rocketmq-all-4.9.2-bin-release.zip 准备环境 二、下载RocketMQwgethttps://archive.apache.org/dist/rocketmq/4.9.2/rocketmq-all-4.9.2-bin-release.zip安装解压工具yuminst

MongoDB安装使用教程

MongoDB安装使用教程介绍MongoDB是一个基于分布式文件存储的数据库,是一个文档数据库,支持的数据结构非常松散,是类似json的bson格式,可以存储比较复杂的数据类型。下载目前MongoDB官网已经不支持32位安装包的下载,由于32位机器受地址空间的限制,MongoDB从3.4版本开始不再支持32位的操作系统。历史版本虽然可以使用32位的,但是只建议测试和开发使用,生产环境使用64位的,并且在测试开发进行大数据量测试时,32位也是有限制,所以推荐直接使用64位的,并且官网目前已经没有32位的下载,只有64位的安装包下载。下载地址:https://www.mongodb.com/try

Redis——数据操作(3)

2022-09-22(4)set操作  ①添加操作(sadd):例:saddstudentAB  ②查看操作(smembers):例:smembersstudent  ③移除操作(srem):例:sremstudentA(5)zset(有序集合而且里面的元素是不能重复的)操作  ①添加(zadd)操作:zaddordered_set50K64J82M2O    说明:zadd后面的变量是创建的一个“zset”集合变量,“50K”表示K的权重是50,使用权重用来排序。权重越大,排序越靠后。  ②查询(zrange)操作:zrangeordered_set0-1    说明:“0-1”一个是正向索

Redis——数据操作(2)

2022-09-21(2)hash操作:  ①设置多个hash值,(hmset):查看说明:helphmset hmsetpersonnameAage1   ②获得多个hash值,(hmget):查看说明:helphmget hmgetpersonnameage  ③将hash中的key与value都罗列出来(hgetall):  例如:hgetallperson  ④查看“person”中所有的key:(hkeys):hkeysperson  ⑤查看“person”中所有的value:(hval):hvalsperson  ⑥删除hash中的某个字段:hdelpersonage  ⑦删除ha

工具推荐-使用RedisInsight工具对Redis集群CURD操作及数据可视化和性能监控

[点击?关注「WeiyiGeek」公众号]设为「⭐️星标」每天带你玩转网络安全运维、应用开发、物联网IOT学习!希望各位看友【关注、点赞、评论、收藏、投币】,助力每一个梦想。---本章目录目录0x00快速介绍0x01安装部署二进制方式容器化方式0x02实践应用1.配置连接的Redis数据库2.查看Redis数据库实时统计信息3.操作Redis数据库中的数据4.操作Redis数据库中的流Streams数据5.性能内存、慢查询分析6.可视化配置redis数据库0x03入坑出坑问题1.运行RedisInsight-v2-linux-x86_64时出现不存在libatk-1.0.so.0/libatk

redis集群搭建 Installing Redis Cluster

简介:Redis的集群模式实现了数据的分布式存储,每个节点存储不同的数据,实现数据动态扩容。优点:无中心节点架构,数据按照slot分布在多个节点上缺点:不支持多数据库 1、安装包准备  1、redis-4.0.1.tar.gz redis源文件    下载地址:https://download.redis.io/releases/redis-4.0.1.tar.gz  2、ruby-2.5.9.tar.gz ruby安装包2、安装机器准备  三台机器:192.168.43.120 192.168.43.130 192.168.43.140  3主3从,每台机器两个节点 3、目录创建和redis

Redis缓存穿透、缓存击穿、缓存雪崩

Redis缓存穿透、缓存击穿缓存雪崩redis常被用于作为后台数据库的缓存,缓存一些热点访问数据,根据局部性原理,缓存能够处理大部分请求。当请求数据未命中缓存时,才会引起对数据库的访问。使用redis作为缓存时,存在一些应用问题,包括缓存穿透、缓存击穿、缓存雪崩。缓存穿透当有大量查询请求未命中缓存时,引起对后台数据库的频繁访问,导致数据库负载压力增大,这种现象就叫做缓存穿透。引起的原因:黑客大量访问不存在的key,导致数据库处理大量请求解决方法:将无效的key存进Redis中,若果数据库查询某个key不存在时,同样将这个key缓存到Redis缓存中,并设置value为NULL,表示不存在。如果