logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

linux内核之双向链表实现原理

Linux内核中广泛使用了一种称为循环双链(Circular Doubly Linked)链表的数据结构,即每个节点都有一个向前和向后的链接,而且首尾节点也相互连接。使用这样的链表,你可以很方便地访问任何一个元素的上一个和下一个元素,且无论目前位于哪个元素。相反,你应当使用内核提供的链表函数,因为这些函数已经对各种边缘情况进行了处理,可以确保你的链表操作是正确且安全的。需要你提供链表节点的指针、包

文章图片
#linux#链表#运维
redis事件处理流程

1. redis服务器的主函数def main():# 初始化服务器init_server()# 一直处理事件,直到服务器关闭为止while server_is_not_shutdown():aeProcessEvents()# 服务器关闭,执行清理操作clean_server()2. aeProcessEvents函数处理逻辑def aeProcessEvents():# 获取到达时间离当前时间

#redis
docker安装nginx

1. 拉去镜像docker pull nginx:1.102. 随便启动一个nginx,为了复制出配置docker run -p 80:80 --name nginx -d nginx:1.103. 将容器的配置文件夹下的内容拷贝的当前目录3.1创建一个目录并切换到新创建的目录中去mkdir -p /mydata/nginxcd /mydata/nginx3.2将容器内的配置文件夹nginx拷贝到

#nginx#docker
redis删除策略

1. 判断一个key的有效期# 查看num这里key的有效期# 返回值有三种正数:剩余有效期秒数-1:永久有效-2:已被删除或不存在或已过期127.0.0.1:6379> ttl num(integer) -12. 原理redis中有一个类似于hash结构的expires,其中键为:设置了过期时间的数据内存地址值为:过期时间3. 定时删除为设置了过期时间的key创建一个定时器,当过期时间到达

#golang#开发语言#后端
redis备份

1. rdb备份方式一:在客户端中输入保存命令# 当前进程执行rdb备份# 不建议使用save# 调用fork函数生成子进程进行后台备份bgsave方式二:配置文件中配置自动rdb配置# rdb自动执行的条件# 900秒内有1个键发生变化就进行后台rdb存储save 900 1save 300 10save 60 10000方式三:服务器运行执行重启命令debug reload方式四:关闭服务器时

#redis#数据库
redis事务

1. 步骤# 在客户端下执行开启事务命令,会创建一个任务队列multi# 将命令放入任务队列set age 30# 将命令放入任务队列get age# 提交事务,会执行任务队列(当前事务的任务队列)里面的所有指令exec# 开启事务指令,会开启一个任务队列。multiset name 张三get nameset name lisi# 取消事务,不执行直接销毁当前事务的任务队列discard2. 原

springboot之Fastjson实现复杂对象序列化

1. 在pom文件中添加以下依赖<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.15</version></dependency>2. 序列化与反序列化Teacher teac

#maven#spring#java
08_mybatis-plus设置逻辑删除

1. 配置文件中添加全局逻辑删除配置mybatis-plus:global-config:db-config:logic-delete-field: flag# 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)logic-delete-value: 1 # 逻辑已删除值(默认为 1)logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)这个

Java虚拟机常见参数

1. 内存配置参数1.1 配置JVM最大内存为10240M-Xmx10240m1.2 配置JVM最小内存为10240M-Xms10240m线上环境推荐Xms与Xmx配置一样大小1.3 配置JVM新生代内存大小-Xmn5120m1.4 配置eden区与suvivor区占比为8:1:1-XX:SurvivorRatio=81.5 配置老年代与新生代内存占比为2:1-XX:NewRatio=2:1...

#java
什么是缓存预热

1.概念缓存预热是指系统上线后,提前将相关的缓存数据加载到缓存系统中,避免刚上线使用户有太多请求打到数据库上去,然后再去将数据缓存的问题。有了缓存预热后,系统刚上线用户也可以直接查询实现被预热的缓存数据如果不进行预热,那么redis初始状态数据为空,系统上线初期,对于高并发的流量,都会访问数据库,会对数据库造成流量的压力2. 缓存预热的解决方案数据量不大的时候可以不进行缓存预热,或者工程启动后再进

#缓存#redis#数据库
到底了