redis day 03

Redis实现分布式锁

Redis实现分布式锁 前言 分布式锁的实现有三种方式 数据库乐观锁 基于Redis的分布式锁 基于Zookeeper的分布式锁 分布式锁满足的条件 为了确保分布式锁可用,我们至少要保证锁的实现同时满足以下几个条件 互斥性:在任意时刻只有一个客户端能持有锁 不会死锁:即使有一个客户端在持有锁的期间发 ......
分布式 Redis

Redis缓存穿透-布隆过滤器

Redis缓存穿透-布隆过滤器 缓存穿透 我举个蘑菇博客中的案例来说,我现在有一个博客详情页,然后博客详情页中的内容假设是存储在Redis中的,然后通过博客的Uid进行获取,正常的情况是:用户进入博客详情页,然后通过uid获取redis中缓存的文章详情,如果有内容就直接访问,如果不存在内容,那么需要 ......
过滤器 缓存 Redis

Redis_IO多路复用底层原理

从底层了解IO多路复用模型 前言 当我们去面试的时候,问到了 redis,nginx,netty他们的底层模型分别是什么? redis -> epoll nginx-> epoll netty-> epoll? 需要从操作系统的层面上来谈 BIO 当我们开机的时候,首先被加载进内存的是我们的Kern ......
底层 Redis_IO 原理 Redis IO

Linux & 标准C语言学习 <DAY17> *完结

一、文件 1、文件的分类 1.文本文件 是人能看得懂的文件,存储的是字符符号的ASCII码的二进制 //存储'2''5''5'的二进制,显示255 2.二进制文件 存储的是数据的补码二进制 //存储255:1111 1111 2、文件IO FILE *fopen(const char *path, ......
语言学习 语言 标准 Linux DAY

nodejs处理一段redis获取集合,数组的代码优化(其中包含:es6同步返回数据的处理,new Promise)

从异步,用延时来处理,改成同步获取数据 获取数据主要分2步: 1.从redis集合中获取数组; 2.遍历数组,抓取其中字符串,解析,拼接成需要的数据,返回给前端 原代码,用sleep方法,避免异步数据处理带来的提前返回数据的问题; (缺点:时间比较久,逻辑中是有问题的) // 获取线路上公交的位置信 ......
数组 Promise 代码 数据 nodejs

若依微服务连接redis 一段时间报错,后来改成连接池后也是报错 Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 10 second(s)

springBoot版本是2.x 所以呢redis客户端是lettuce,而不是jedis; lettuce支持异步,而且是线程安全的。 jedis是同步的,线程不安全需要每个线程一个Jedis实例,所以一般通过连接池来使用Jedis。 我这里用的是lettuce连接池的配置还是报错了呢: spri ......

《渗透测试》JS架构&框架识别&泄漏提取&API接口枚举&FUZZ爬虫&插件项目 Day14

0、什么是JS渗透测试? 在Javascript中也存在变量和函数,当存在可控变量及函数调用即可参数漏洞 JS开发的WEB应用和PHP,JAVA,NET等区别在于即没有源代码,也可以通过浏览器的查看源代码获取真实的点。获取URL,获取JS敏感信息,获取代码传参等,所以相当于JS开发的WEB应用属于白 ......
amp 爬虫 架构 插件 框架

《渗透测试》Web应用&源码泄漏&开源闭源&指纹识别&GIT&SVN&DS&备份 2023 Day13

#后端-开源-指纹识别-源码下载 CMS识别见上述项目 #后端-闭源-配置不当-源码泄漏 参考:https://www.secpulse.com/archives/124398.html 备份:敏感目录文件扫描 CVS:https://github.com/kost/dvcs-ripper GIT: ......
amp 指纹识别 指纹 备份 源码

day08-2-Thymeleaf

服务器渲染技术-Thymeleaf 1.基本介绍 官方在线文档:Read online 文档下载:Thymeleaf 3.1 PDF, EPUB, MOBI Thymeleaf 是什么 Thymeleaf是一个现代的服务器端Java模板引擎,适用于Web和独立环境,能够处理HTML,XML,Java ......
Thymeleaf day 08

[FastAPI-03]动态静态路由顺序的问题-静态路由先执行

from fastapi import FastAPI app= FastAPI() # 静态路由优先级高于动态路由 # 必须写在动态路由的前面 @app.get("/books/most_populer") def books_most_populer(): return {"This Book ......
路由 静态 顺序 FastAPI 动态

2023-03-21 npm i wepy老是失败?老是说已存在?rename??

前言:卸载了wepy,准备安装低一点版本,没想到就报错了。 原因:卸载并不完全,c盘的npm目录里还存在wepy的文件这才导致出错。 解决方案:把npm里wepy开头的文件统统删除掉!!然后npm i wepy!! 注意:这边建议用cnpm安装!npm太拉了。 ......
老是 rename 2023 wepy npm

2023-03-21 npm i 时爆红 ENOENT: no such file or directory, rename

原因:package-lock.json或者yarn.lock文件冲突。 解决方案:删除这两个文件。 ......
directory ENOENT rename 2023 file

Linux 安装 redis

1. 验证是否有 gcc gcc -v 若无,执行 yum install -y gcc g++ gcc-c++ make 2. https://www.cnblogs.com/hunanzp/p/12304622.html ......
Linux redis

redis 10大数据类型

Redis 10大数据类型 这里说的数据类型是value的数据类型,key的类型都是字符串。 Redis key Redis key是String类型,也是二进制安全的,我们可以使用任何二进制序列作为键,从像“foo”这样的字符串到 JPEG 文件的内容。 关于Redis的key有以下规则和建议: ......
类型 数据 redis

Redis简介

Redis是什么 Remote Dictionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式 ......
简介 Redis

redis安装

这里先介绍下简单安装,主要搭建 命令调试环境,其实也可以直接使用线上调试工具,进入官网就能看到 https://redis.io/ windows下安装 **下载地址:**https://github.com/tporadowski/redis/releases。 下载:Redis-x64-5.0. ......
redis

Redis配置

Redis 配置 Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf(Windows 名为 redis.windows.conf)。 你可以通过 CONFIG 命令查看或设置配置项。 语法Redis CONFIG 命令格式如下:redis 127.0.0.1:6379 ......
Redis

day7

LeetCode 454.四数相加II 题目/视频/文章链接: 454.四数相加|| 个人第一时间看法: 考虑到之前做过的两数之和,得用哈希表来解决,只不过对于四个数组的操作有点懵,感觉无从下手,只想到四个for循环暴力解决。 看完代码随想录的想法: 鉴于两数之和的操作,可以将四个数组分成两大组来进 ......
day7 day

代码随想录算法训练营Day49 动态规划

#代码随想录算法训练营 代码随想录算法训练营Day49 动态规划| 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II 121. 买卖股票的最佳时机 题目链接: 121. 买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的 ......
随想录 训练营 随想 算法 代码

SpringMVC-lesson02-hellospringmvc-2023-03-21

参考网页:https://www.kuangstudy.com/bbs/1618521039124783105 第1步:注册web.xml,注册DispatcherServlet <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http: ......

为什么不建议用redis做消息队列

redis的list做队列其实还是很爽的,简单,一个读一个写即可,而且基本每个系统都会使用redis,接入没有附加成本,也没有额外的学习成本。 如果需要订阅模型,写三个队列,然后三个消费者分别读自己的那个即可。 但是,也有一些问题: 无法回放,消费了即消失,没有记录。 消息体如果很大,会占用很多内存 ......
队列 消息 建议 redis

学习记录:第一周day03笔记

一、数据类型 为什么要对数据进行分类? 1、现实中的数据就是自带类别属性的 2、对数据进行分类可以节约内存存储空间、提高运行速度 存储空间的单位: Bit 比特 存储1个二进制位,只能存储0或1,是计算机存储数据的最小单位 Byte 字节 存储8个二进制位,是计算机存储数据的基本单位 KB(Kb) ......
笔记 day 03

学习记录:第一周day01笔记

linux系统简单介绍: BCPL->New B->C->Unix->Minix->Linux->gcc为了编译LInux内核产生 美国贝尔实验室 1.cd命令: cd 文件路径:进入某个目录 / :根目录,所有文件都存储在该目录下 ~:用户主目录,linux提供一个快捷方式cd可以直接回到用户主目 ......
笔记 day 01

学习记录:第一周day02笔记

vim文本编辑器: 可以直接在终端下采用纯键盘操作的一款文本编辑器(号称编辑器之神,可以升级、可以扩展) 基础用法: 1、进入vim: 输入 vim file.c 文件存在则打开,否则新建并打开 2、输入i: 进入编辑模式,编写代码 3、保存并退出 按Esc,输入ZZ保存并退出 vim三大模式: 正 ......
笔记 day 02

学习记录:第一周day04笔记

一、for循环语句 循环:就是一种让代码反复执行的方式,从而达到想要的效果 for循环一般会使用一个变量来引导循环的进行,这一变量叫做该循环的循环变量 i index for循环的变化很灵活,但也很危险 for循环的括号问题: 1、for循环内只有一行代码时,大括号可以省略 但是这样不利于后期代码扩 ......
笔记 day 04

学习记录:第一周day05笔记

一、数组 什么是数组:变量的组合,是一种批量定义相同类型变量的方式 定义: 类型名 数组名[数量]; int arr[5]; 注意:数组的内存空间是连续分配的,且数组的长度一旦确定就无法改变 使用:数组名[下标]; 下标:从0开始,范围:0~数量-1 可以是任意整型表达式,包括整型变量和整型常量 遍 ......
笔记 day 05

学习记录:第二周day01笔记

一、Window下获取方向键 1、导入头文件 #include<conio.h> 2、通过getch()获取键盘上的键值 上:72 下:80 左:75 右:77 二、Linux下获取方向键: 1、在Window中把getch.h文件放入共享文件夹中 2、在Linux的共享文件夹下执行 mv getc ......
笔记 day 01

学习记录:第二周day02笔记

进制转换 1、为什么使用二进制、八进制、十六进制? 因为目前CPU只能识别高低两种电平,只能对二进制数据进行计算 二进制虽然能够直接别计算机识别但是不方便人去书写和记录,因此就把二进制数据转换成八进制,方便记录到文档中 随着CPU的位数的不断增加(目前已经到64位),八进制不再能够用满足需求,因此发 ......
笔记 day 02

day21 打卡530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先

day21 打卡530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先 530.二叉搜索树的最小绝对差 530题目链接 1.递归法——使用双指针。因为是二叉搜索树,所以中序遍历是递增的。所以最小值的产生肯定是前一个和后一个之间。 class Solution { ......
祖先 day 530 501 236

为什么Redis不直接使用C语言的字符串?看完直接吊打面试官!

众所周知Redis有以下几种常见的数据类型 String(字符串)、List(列表)、Set(集合)、Hash(哈希)、Sorted set(有序集合)、Stream(流)、Geo(地理空间索引)、Bitmap(位图)、HyperLogLog(基数统计)等。 我们最常用的就是String(字符串)... ......
字符串 字符 语言 Redis