自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 使用哈希值优化键值对存储与检索

哈希函数具有一些重要的特性,如确定性(相同的输入总是产生相同的输出)、快速性(计算哈希值的时间复杂度较低)和雪崩效应(不同的输入产生不同的哈希值的概率很高)。这样,当需要检索与某个键关联的值时,我们只需要计算该键的哈希值,并在存储系统中查找与该哈希值对应的值即可。Redis提供了许多其他命令来操作哈希表,如HGETALL(检索哈希表中的所有字段和值)、HDEL(删除哈希表中的字段)、HINCRBY(递增哈希表中字段的值)等。确保你的哈希键在Redis中是唯一的,以避免意外地覆盖或检索到错误的数据。

2024-05-23 00:33:37 505

原创 Redis缓存

redis是非关系型数据库,大多是以键值对的存放数据,数据是存放在内存中。MySQL是关系型数据库 , 是以表的方式存放数据 , 数据是直接存放到磁盘中也就是硬盘里面。但一个用户需要重复多次获取同段数据 , 每次都从数据库磁盘中读取数据 , 那么速度就会比较慢。把常用频繁访问的数据放到内存中 , 用户访问的速度会加快 , 服务器在获取数据的时候也不需要经过数据库。从性能上:用户第一次访问数据 ,这个数据会存放带内存 , 下一次就不需要进入数据库访问。

2023-07-01 10:36:29 837

原创 kubernetes

http://t.csdn.cn/v7hVhhttp://t.csdn.cn/av8EQhttp://t.csdn.cn/hJALg

2023-06-30 22:41:15 146

原创 C++对C语言的扩充

定义inline,编译时节省参数传递、控制转移开销,以空间换时间。

2023-04-30 16:31:38 61

原创 Python文件操作和并发编程

逻辑上,模块就是一组功能函数的集合;物理上,一个模块就是一个包含了Python定义和声明的文件,文件名就是模块名字加上.py的后缀。在一个模块内部,模块名可以通过全局变量____name____的值获得。文件是系统存储区域的一个命名位置,能够在存储器中实现持续性存储。f = open('file' , 'mode') // 打开文件打开模式说明‘r’只读模式,默认值‘w’覆盖写模式,文件不存在则创建,存在则完全覆盖‘x’创建写模式‘a’追加写模式‘b’二进制文件模式‘t’

2023-04-23 23:14:42 507

原创 Python数据变量和流程控制

Python用int来表示整数类型。浮点数也就是小数,因为浮点数的小数点位置是浮动可变的,浮点数除了数学写法,还支持科学计数法。浮点数也称为float型。布尔值只有True、False两种值,对应计算机底层机器编码中的0和1。在Python中,可直接用True、False表示布尔值,也可以通过布尔计算计算出来。例如,3

2023-04-18 16:35:37 108

原创 关系数据库

域是一组具有相同数据类型的值的集合关系的性质:(1)列是同质的,即每一列中的分量是同一类型的数据,来自同一个域​ (2)不同的列可出自同一个域,称其中的每一个列为一个属性,不同的属性要给与不同 的属性名​ (3)列的顺序无所谓,即列的次序可以任意交换​ (4)任意两个元组不能完全相同​ (5)行的顺序无所谓,即行的次序可以任意交换​ (6)分量必须取原子值,即每一个分量都必须是不可再分的数据项关系:一个关系对应一张二维表。

2023-04-13 17:49:10 63

原创 数据库概述

数据(Data) 数据库(DB) 数据库管理系统(DBMS) 数据库系统(DBS)

2023-04-12 17:56:00 32

原创 docker

基础镜像信息、维护者信息、镜像操作指令、容器启动执行的指令。

2023-04-07 15:47:11 68

原创 Spring Cloud

eureka是netflix开发的一个服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS(Amazon web services)域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。spring cloud将其集成在自己的子项目spring cloud netflix中,以实现spring cloud的服务发现功能。eureka的服务发现包含两大组件:服务端发现组件eureka server和客户端发现组件eureka client。

2023-04-04 17:42:52 49

原创 Python面向对象

类的定义与函数的定义一样,只有被执行时才会起作用,因为这种特性,可以将类定义放在if语句的一个分支或函数内部。当解释器执行到类定义时,类定义就产生了一个命名空间,与函数类似。在类内部使用的属性,相当于函数中的变量名,还可以在类的外部继续使用。类的内部与函数的内部一样,相当于一个局部作用域,不同类的内部也可以使用相同的属性名。

2023-04-02 20:54:16 29

原创 Python函数

内建函数安装完Python源码就能够直接使用,是系统自带的。除了内建函数以外,我们还可以根据需要创建新的自定义函数。因为系统自带的函数数量是有限的,功能也是有限的。想要通过函数做更多事情,就只能自己设计符合需求的函数。如果return后面没有返回值,则函数将返回None。None是Python中的空数据,用来表示什么都没有。

2023-04-02 12:46:21 45

原创 Python数据结构

元组和列表类似,都是有序的线性结构,用括号来表示,可以指定索引来获取元素。创建元组其实很简单,只要在某个值后面加上一个逗号。注意,当元组只包含一个元素的时候,不能写成(elem)这样的形式,而是要写成"elem,"或者(elem,)如果元组为空,可以只写()。集合是一组无序排列的值,其内容无序且元素不重复。它支持用in和not in操作符检查成员,用len内建函数得到集合的元素个数,用for循环遍历集合的成员,但因为集合本身是无序的,所以不可以为集合创建索引或执行切片操作。

2023-03-31 19:14:45 1411

原创 crontab本地定时任务

口目录/var/spool/cron这个目录下存放的是每个用户包括root的定时任务,每个任务以创建者的名字命名,比如 tom 建的定时任务对应的文件名字就是/var spool/cron/tom。口目录/etc/cron.d这个目录用来存放系统要执行的定时任务文件或脚本。PATH环境变量为/ust/bin/bin,所以如果定时任务命令或者脚本中调用的实用程序没有在这个路径下的话会导致无法调用到。口目录/etc/cron.weekly∶这个目录用来存放每周执行的定时任务。Crond在如下位置搜索定时任务。

2022-11-27 20:09:14 1840

原创 Redis集群

Redis的所有节点都会保存当前redis集群中的全部主从状态信息.并且每个节点都能够相互通信.当一个节点发生宕机现象.则集群中的其他节点通过PING-PONG检测机制检查Redis节点是否宕机.当有半数以上的节点认为宕机.则认为主节点宕机.同时由Redis剩余的主节点进入选举机制.投票选举链接宕机的主节点的从机.实现故障迁移.当向redis集群中插入数据时,首先将key进行计算.之后将计算结果匹配到具体的某一个槽的区间内,之后再将数据set到管理该槽的节点中.Redis是一个很好的Cache工具。

2022-11-25 21:07:13 70

原创 Zookeeper

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。分别在zk1/zk2/zk3中的data文件夹中创建新的文件myid.其中的内容依次为1/2/3,与zk节点号对应.网址: http://zookeeper.apache.org/releases.html.配置完成后将zoo1.cfg复制2份.之后需要修改对应的文件夹目录.和不同的端口即可.在zookeeper根目录中创建新的文件夹zkCluster.

2022-11-25 20:44:58 53

原创 Redis命令

lrem 从存于 key 的列表里移除前 count 次出现的值为 value 的元素。需要注意的是,如果list里没有存在key就会被当作空list处理,所以当 key 不存在的时候,这个命令会返回 0。Lset 设置 index 位置的list元素的值为 value LSET key index value。lpush 从队列的左边入队一个或多个元素 LPUSH key value [value …rpush 从队列的右边入队一个或多个元素 RPUSH key value [value …

2022-11-25 20:38:41 41

原创 Oracle的使用

文章目录表空间表空间(users)和数据文件段、区和块使用DDL语句管理表—用户用户权限用户授权创建表连接ORACLE的几种手段索引序列创建表修改表约束使用DML处理数据基本查询 SELECT语句条件查询与排序模糊查询Order by排序子查询Oracle中的事务视图Oracle锁PL/SQL和存储过程Oracle游标Oracle触发器 TRIGGER表空间一个Oracle数据库由一个或多个逻辑存储单元——表空间构成,表空间存储着数据库中所有的数据;除了普通表空间外,Oracle还有几种特殊的表空间。

2020-08-30 12:00:18 201

原创 MySQL数据库的使用

文章目录数据库操作数据表的管理数据操作基础高级查询语句模糊查询和正则查询as 用法排序分页(限制)联合查询子查询聚合操作聚合函数聚合分组聚合筛选去重语句聚合运算索引操作索引概述索引分类索引创建外键约束和表关联关系外键约束表关联设计表关联查询视图视图概念视图操作视图作用函数和存储过程函数创建存储过程创建存储过程和存储函数操作函数和存储过程区别数据库操作1.查看已有库show databases;2.创建库create database 库名 [character set utf8];crea

2020-08-23 15:05:51 99

原创 Linux常用指令

文章目录基础操作命令文件操作压缩解压权限管理显示展示命令其他命令vi编译器添加用户软件安装基础操作命令01 ls 查看当前文件夹下的内容02 pwd 查看当前所在文件夹03 cd [目录名] 切换文件夹04 touch [文件名] 如果文件不存在,新建文件05 mkdir [目录名] 创建目录06 rm [文件名] 删除指定的文件名07 cp 复制一个文件08 mv 移动一个文件09 clear 清屏•部分命令细节说明◦ls : -l 展示详细信息,-a展示隐藏文件(Linux

2020-08-22 23:07:47 80

原创 Shiro安全框架

文章目录Shiro 框架认证拦截实现Shiro 框架授权过程实现Shiro 框架认证拦截实现添加shiro依赖<dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.4.1</version></dependency>创建SpringShiroC

2020-06-06 00:51:14 95

原创 拦截器与线程池

文章目录控制层访问拦截实现异步写用户行为日志控制层访问拦截实现第一步:拦截器定义package com.cy.pj.common.web;/** * Spring MVC中拦截器 * @author Administrator */public class TimeAccessInterceptor implements HandlerInterceptor { /** * preHandle在控制层目标方法执行之前执行 */ @Override public

2020-06-05 23:52:23 646

原创 RedisTemplate工具API说明

文章目录RedisTemplate说明关于配置类说明入门案例SpringBoot缓存注解介绍RedisTemplate说明SpringBoot针对Redis开发了一套API,将redis常规操作进行了整合.Template底层实现时将Jedis对象再次进行了封装.导入jar包<!--SpringBoot整合redis --> <dependency> <groupId>org.springframework.boot&lt

2020-06-05 18:00:21 217

原创 电商前台的常见业务逻辑

文章目录用户注册实现用户单点登陆购物车业务项目权限设计订单业务订单超时处理用户注册实现编辑UserController@RequestMapping("/user/doRegister") @ResponseBody public SysResult doRegister(User user) { userService.doRegister(user); return SysResult.success(); }编辑Use

2020-06-05 15:33:44 592

原创 Dubbo+Zookeeper分布式

文章目录Dubbo入门案例项目改造Dubbo入门案例导入jar包<!--引入dubbo配置 --> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>2.7.6&lt

2020-06-05 14:50:04 132

原创 JSONP跨域访问

文章目录跨域原理jQuery实现跨域访问用户登陆校验跨域原理1.利用javaScript中的src属性可以实现跨域.<script type="text/javascript" src="http://manage.jt.com/test.json"></script>2.定义回调函数.​ 作用:主要目的获取远程服务器的数据.function hello(data){ alert(data.name);}3.将返回值结果进行特殊的封装.封装要求:将返回值封

2020-06-05 14:17:49 80

原创 redis的使用

文章目录Redis安装Redis入门案例SpringBoot整合RedisRedis实现商品分类缓存缓存优化AOP策略SpringBoot整合Redis集群Redis安装上传安装文件解压redistar -zxvf redis-5.0.5.tar.gz修改redis文件目录安装Redis1.make 2.make install修改redis配置文件命令:vim redis.conf1.关闭IP绑定2.关闭保护模式3.开启后台启动Redis服务器操作命令

2020-06-04 23:27:37 129

原创 Linux 实现Tomcat集群部署

文章目录修改hosts文件安装Linux 数据库部署tomcats集群安装Linux版Nginxnginx实现负载均衡反向代理修改hosts文件192.168.126.129 image.jt.com192.168.126.129 manage.jt.com安装Linux 数据库创建Mysql目录mkdir /usr/local/src/mysql上传2个文件,数据库文件和db文件解压Mysql安装文件tar -xvf Percona-Server-5.6.24

2020-06-04 18:01:21 217

原创 图片上传

文章目录入门案例实现商品文件上传入门案例编辑页面<body> <h1>实现文件长传</h1> <!--enctype="开启多媒体标签" --> <form action="http://localhost:8091/file" method="post" enctype="multipart/form-data"> <input name="fileImage" type="file

2020-06-04 11:58:22 134

原创 电商后台的常见业务逻辑

文章目录商品分类EasyUI中树形结构商品新增商品分类信息回显页面修改操作商品删除商品上架/下架商品详情商品分类编辑POJO@TableName("tb_item_cat")@Data@Accessors(chain=true)public class ItemCat extends BasePojo{ //注意事项: POJO中的属性都使用包装类型 @TableId(type=IdType.AUTO) //主键自增 private Long id; /

2020-06-04 11:48:13 1002

原创 mybatis与MP的分页查询

文章目录mybatis的分页MP方式实现分页查询mybatis的分页编辑ItemController@RestController@RequestMapping("/item")public class ItemController { @Autowired private ItemService itemService; /** * 业务分析: * 根据分页要求,动态查询商品全部记录信息. * url:http://l

2020-06-03 22:40:46 1158

原创 mybatisplus的使用

文章目录导入jar包编辑POJO继承公共的接口MybatisPlusAPI导入jar包<!--spring整合mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <ve

2020-06-03 22:20:10 125

原创 springboot的初步使用

文章目录SpringBoot为属性赋值利用@Value为属性赋值批量为属性赋值SpringBoot指定配置文件为属性赋值程序热部署LOMBOK插件配置SpringBoot整合MybaitsSpringBoot为属性赋值如果将类中的属性直接赋值,则后台修改维护时不方便.最好的方式应该通过配置文件的方法动态赋值.利用@Value为属性赋值编辑YML配置文件#语法说明 #1.数据结构 k-v结构 k:(空格)v #2.有层级关系 相同的层级可以缩进 #3.YML配置文件本身是utf

2020-06-03 18:16:07 103

原创 Vue的绑定

文章目录一. 双向绑定:二. 绑定样式三. 自定义指令四. 计算属性五. 过滤器一. 双向绑定:双向绑定: 既能将new Vue()中模型对象中变量值的修改更新到页面上显示。又能将页面中元素内容发生的变化,自动更新回new Vue()中的模型对象中保存。强调:双向绑定几乎只用在表单元素上<body> <!--想点百度一下,可按关键词搜索--> <!--1. 先做界面: 问题: 哪里可能发生变化 本例中: 当用户在文本框中输入新内容时,input

2020-05-28 14:45:51 259

原创 Vue的指令

文章目录1. v-bind:2. v-show:3. v-if和v-else:4. v-else-if:5. v-for:6. v-on: 事件绑定:7. v-html:8. v-cloak和v-text: 防止用户短暂看到{{}}:9. v-once:10. v-pre:1. v-bind:<body> <!--根据空气质量pm2.5的数值,更改页面中显示不同图片--> <!--1. 先定义界面 问题: 页面中哪里可能随变量自动变化 本例中: img元素的

2020-05-28 12:03:39 82

原创 Vue的简单使用

@TOCVue的基本实现<body> <!--1. 先定义界面: 要求: 1.1 整个界面必须包裹在一个唯一的父元素内 1.2 界面中可能发生变化的位置用{{变量名}}标记出来 1.3 界面中可能触发事件的元素用@事件名="处理函数名"标记出来--> <div id="app"><!--小区--> <!--住户--> <button @click="minus">-</button>

2020-05-22 00:13:43 80

原创 rpc模式

package rabbitmq.m6_rpc;​import java.io.IOException;import java.util.concurrent.TimeoutException;​import com.rabbitmq.client.AMQP.BasicProperties;import com.rabbitmq.client.CancelCallback;import com.rabbitmq.client.Channel;import com.rabbitmq.clien

2020-05-20 21:29:36 222

原创 Solr的配置

这里写自定义目录标题准备服务器安装配置JDK安装配置Solr准备服务器克隆 centos-7-1908: solr设置ip./ip-staticip: 192.168.64.170xshell 和 winscp(或filezilla) 连接 170 服务器安装配置JDK上传 jdk-8u212-linux-x64.tar.gz解压缩 jdktar xf jdk-8u212-linux-x64.tar.gz -C /usr/local/配置环境变量cd /usr/local/jdk

2020-05-20 21:22:22 137

原创 Docker实战

DockerCentos-7-1908 克隆: docker设置 ip./ip-staticip: 192.168.64.150导入后面要是用的镜像课前资料/devops课前资料/docker5个 *-image.gz 文件, 上传到服务器把镜像压缩文件, 导入到dockerdocker load -i centos7-docker-image.gzdocker load -i mariadb-docker-image.gzdocker load -i redis-docker-im

2020-05-19 21:50:19 138

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除