线程 架构 原因redis
Leetcode常见报错的原因分析
问题1 问题描述 Line 522: Char 69: runtime error: applying non-zero offset 18446744073709551615 to null pointer (basic_string.h) 报错原因 string res = 0 报错分析 这里报 ......
Redis Key 设计规约
# Redis Key 设计规约 ## Redis的key命名规范 1、建议全部大写,不强制 2、key 单词与单词之间以 `:` 分开 3、key不能太长也不能太短,键名越长越占资源,太短可读性太差 4、key 的其他规则 > 1、非常长的key是不推荐的。一个1024 bytes是一个非常坏的注 ......
线程池原理
下面我将围绕这几个问题,来讨论一下线程池。 1. 线程池是什么? 2. 为什么使用线程池,或者说使用线程池的好处是什么? 3. 线程池怎么使用? 4. 线程池的原理是什么,它怎么做到重复利用线程的? ## 1. 线程池是什么 线程池(Thread Pool)是一种基于池化思想的管理线程的工具,它内部 ......
一个线程池拒绝策略引发的问题
extends:严选库存稳定性治理系列:一个线程池拒绝策略引发的血案 (qq.com), 虽然是我遇到的一个棘手的生产问题,但是我写出来之后,就是你的了。 - why技术 - 博客园 (cnblogs.com) 你好呀,是歪歪。 前几天,就在大家还沉浸在等待春节到来的喜悦氛围的时候,在一个核心链路上 ......
清除本地redis方法
--清除本地redis方法 1、找到安装redis的本地目录,cmd进入命令窗口 2、redis-cli //登录redis 3、查看redis中现在所有的key keys * 4、get key的名字,可以查看key里面对应的name值 5、清除指定的key:del key 清除整个redis服务 ......
进程和线程
**概念** + 进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,是竞争计算机系统资源的基本单位 + 线程:是进程的一个执行单元,是进程内调度实体,比进程更小的独立运行的基本单位 **进程线程区别** + 地址空间:线程共享本进程的地址空间和资源,而进程之间是独立的地址空 ......
对比 redis cluster 和 elasticsearch
一. 对比 redis 提供了redis sentinal 的高可用策略,以及redis cluster来支持扩展性(同时也支持高可用)。redis cluster,ealsticsearch 都属于有状态数据存储服务,这里做一个简单的对比。 特性 redis cluster elasticsear ......
【redis】redis异常-MISCONF Redis is configured to save RDB snapshots
使用redis报错: MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set a ......
自研API 网关 - 媲美美团这套Shepherd网关架构!
作者:小傅哥 博客:[https://bugstack.cn](https://bugstack.cn) > 沉淀、分享、成长,让自己和他人都能有所收获!😄 我说:["很多互联网大厂,很少基于 SpringMVC 模块对外提供 WEB 服务的 HTTP 接口!"](https://bugstack ......
【操作系统】【硬件结构】CPU 线程调度机制
1 前言 这节我们看看 CPU 是根据什么来选择当前要执行的线程。 2 任务分类 在 Linux 内核中,进程和线程都是用 task_struct 结构体表示的,区别在于线程的 task_struct 结构体里部分资源是共享了进程已创建的资源,比如内存地址空间、代码段、文件描述符等,所以 Linux ......
小灰灰深度学习day9——多线程读取小批量数据(这里运行的时候报错了,目前还不会解决,待更新……)
在这里先把代码放上来 import torch import time import numpy as np import torchvision from torch.utils import data from torchvision import transforms from d2l imp ......
qt线程相关知识
+++++++++++++++++++++++widght.h++++++++++++ #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QDebug> #include <QTimer> #include <QThread ......
关于进程、线程、协程的概念以及Java中的应用
# 进程、线程、协程 本文将从“操作系统”、“Java应用”上两个角度来探究这三者的区别。 ## 一、进程 在我本人的疑惑中,我有以下3个问题。 ### 1.1为什么要引入进程? 在“多道程序环境下”,允许多个程序并发执行,此时它们将失去封闭性,并具有间断性以及不可再现性的特征,因此需要引入进程的概 ......
Redis基础
什么是Redis 关系型数据库(SQL): 结构化(Structured):具有固定的格式,使用表以及表的约束。存储的信息要严格按照约束存储。表的结构不建议修改。 关联的(Relational):表与表之间往往存在关联,例如通过外键关联。数据库就维护这些关联。 SQL查询:所有关系型数据库通过SQL ......
缓存雪崩、缓存击穿、缓存穿透原因及解决办法
缓存雪崩是指在缓存中的大量数据在同一个时刻全部过期,导致原本这些可以由缓存中间件处理的高并发请求,一下子全部打到数据库,导致数据库服务器崩溃的一种现象。那么出现缓存雪崩的原因可以有①:缓存中间件宕机。②:缓存中大部分key都设置了相同的时间,导致这些key在同一时间内全部失效。解决的方法: ①:可以 ......
Redis 常见问题总结
一、Redis为什么快? 1、纯内存访问 相比查询数据库(访问磁盘)要快很多 2、单线程,避免上下文切换 内部执行命令为单线程,避免上下文切换带来的CPU开销 3、渐进式ReHash、缓存时间戳 (1)渐进式ReHash: Redis使用全局哈希表来保存所有键值对, 哈希表相当于一个数组,数组的每个 ......
MVC 模式和三层架构
# 1. MVC 模式 MVC 模式和三层架构是一些理论的知识,将来我们使用了它们进行代码开发会让我们代码维护性和扩展性更好。 **MVC 是一种分层开发的模式,其中:** - **M:Model,业务模型,处理业务** - **V:View,视图,界面展示** - **C:Controll ......
Redis的rehash的策略
背景: redis字典(hash表)当数据越来越多的时候,就会发生扩容,也就是rehash 对比:java中的hashmap,当数据数量达到阈值的时候(0.75),就会发生rehash,hash表长度变为原来的二倍,将原hash表数据全部重新计算hash地址,重新分配位置,达到rehash目的 re ......
redis之hash解析
Redis底层数据结构之hash hash是日常开发过程中使用Redis的一个数据结构,其底层实现方式有两种,如下所示。一种是zipList,这种是当hash结构的V值较小的时候使用的编码方式。这个已经在上一篇文章中介绍过了。这篇文章主要讲解一下另外一种实现方式,字典dict,当hash结构的V值较 ......
Redis rehash
Redis rehash 是什么? Redis rehash 是一种渐进式的哈希表扩展或收缩的机制,用于保持哈希表的负载因子在一个合理的范围内,提高哈希表的性能和空间利用率12。 哈希表是 Redis 的基础数据结构,用于存储键值对。哈希表由一个数组和一个链表组成,数组的每个元素是一个指向链表的指针 ......
Redis高可用的三种实现方式
Redis高可用的三种实现方式一、 高可用的概念 高可用(High Availability,即HA),指的是通过尽量缩短日常维护操作和突发的系统崩溃所导致的停机时间,以提高系统和应用的可用性。一个业务系统如果全年无一时刻不在提供服务,它的可用性可达100%。那么什么样的系统可以称之为高可用呢,业 ......
X86 架构与 ARM 架构区别
### 引言 上网下载软件时,经常会有不同的安装版本,如下: ![image-20230612163920561](https://gitee.com/binbingg/pic-bed/raw/master/img/image-20230612163920561.png) 那究竟应该选择以上哪个版本 ......
远程线程注入之突破Session0隔离会话
# 前言 当我们使用远程线程注入将dll注入至系统服务进程中往往会失败,这是因为大多数系统服务都是在Session0中运行的 "Session 0"是Windows操作系统中的一个特殊的会话,专门用于运行系统服务和其他在用户登录之前就需要运行的程序。从Windows Vista和Windows Se ......
Java CompletableFuture:allOf等待所有异步线程任务结束
private void method() throws ExecutionException, InterruptedException { CompletableFuture<String> f1 = CompletableFuture.supplyAsync(() -> { try { Tim ......
redis四:数据类型命令及落地运用
命令不区分大小写,key区分大小写 help @string 找tring类型命令其他类型也适用 1.String set key value set命令有EX,PX,NX,XX以及KEEPTTL五个参数可选,其中KEEPTTLL为6.0版本添加的可选参数,其他为2.6.12添加的: EX seco ......
redis三:key常用命令
1.keys * 显示所有key exists k1 k2 ...有几个就显示几 2.type key显示key的类型 3.del key 删除指定的key 4unlink key 非阻塞删除,del原子的有可能阻塞 5. expire key 秒 为key设置过期时间 ttl key 查看还有多少 ......
Redis实现分页和多条件模糊查询方案
简介: 本文将基于Redis提供条件查询+分页的技术解决方案。 导言 Redis是一个高效的内存数据库,它支持包括String、List、Set、SortedSet和Hash等数据类型的存储,在Redis中通常根据数据的key查询其value值,Redis没有模糊条件查询,在面对一些需要分页、排序以 ......
redis工具类
package com.yashi.common.utils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.HashOperatio ......
如何使用redis实现高效的分页功能
如何使用redis实现高效的分页功能 一、分页的需求和挑战 在很多场景下,我们需要对大量的数据进行分页展示,比如社交网络中的动态、电商平台中的商品列表、博客网站中的文章评论等。分页的目的是为了提高用户体验,让用户可以按照自己的喜好和需求来浏览数据,而不是一次性加载所有的数据,这样会造成网络和浏览器的 ......
redis集群异常修复
概述 分析redis在异常情况在的处理流程,redis集群在正常情况下自动主从切换,前提条件master在线多于一半的情况 https://github.com/tair-opensource/RedisShake/wiki http://www.redis.cn/commands/cluster- ......