原创 乱七八糟 redis集群dockerfile(有问题) FROM centos:8ENV REDIS_VERSION 6.2.2ENV PORT_01 9001ENV PORT_02 9002ENV PORT_03 9003ENV PORT_04 9004ENV PORT_05 9005ENV&n 2021-04-28 浏览(199) 评论(0) 阅读全文
原创 服务架构 redis实现分布式锁 当服务运行在多台服务器时,为了避免服务器同时占用一个资源,或者重复处理同一个资源,我们需要通过 分布式锁 解决同一时间占用的问题,保证同一时间只有一台服务器处理某些逻辑.redis 分布式锁通过redis 单线程特性,很容易就能实现一个分布式锁方案:锁超时以上的流程,可能会造成这样的情况:当服务器加锁成功之后,突然发生异常终止了进程,这样会导致锁永远无法释放.解决:所以,在redis set ke 2021-04-23 浏览(272) 评论(0) 阅读全文
原创 java springboot整合mybatis 新增mybatis的依赖在 pom.xml中新增 mybatis 和mysql 的依赖,并使用maven 进行同步下载依赖:<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot- 2021-04-07 浏览(336) 评论(0) 阅读全文
原创 java springboot打包jar运行 修改pom.xml文件: 增加 <packaging>jar</packaging>增加build配置: <build> <plugins> <plugin> 2021-04-06 浏览(337) 评论(0) 阅读全文
原创 java 使用IDEA安装springboot框架 点击 File->New->Project 创建新项目:选择spring Initializr:点击next 进行下一步:点击完成之后打开项目:点击右侧的maven图标,点击同步按钮,下载需要的依赖:如果下载慢,可以切换maven镜像进行下载编写Index控制器package com.example.tioncico.controller;import or 2021-04-06 浏览(567) 评论(0) 阅读全文
原创 服务架构 关于用户密码加密 在大多数项目时,数据库存储用户密码都是 md5(密码) 类似的代码,那到底为什么需要这么存储呢?为什么不能明文存储呢?明文存储在网络安全界,或许会经常听到: "xxx公司数据库泄露,几十万用户数据流出"类似的新闻,这个就是使用了明文存储密码.当明文存储密码之后, 2021-03-26 浏览(220) 评论(0) 阅读全文
原创 操作系统 关于select,epoll的优缺点说明 之前写了篇文章 C语言网络编程-tcp服务器实现 里面有讲到了select模型以及epoll模型的区别,但是没有讲到各自的优缺点所以水一篇文章说明下:select模型优点1:实现简单2:兼容性好,可以跨平台使用,windows,linux,macos都支持select缺点1:处理连接需要一直遍历,消耗资源2:连接数量受到了限制epoll模型优点:1:连接数理论没有上线2:只会 2021-03-25 浏览(432) 评论(0) 阅读全文
原创 服务架构 一致性哈希算法原理以及实现方案 分布式存储方案我们都知道,当数据量大了的时候,我们都会选择使用多台服务器共存数据,通过 取模方式进行随机分配服务器存储.例如: 将用户的1亿订单数据分配到3台服务器上,进行分表存储.我们可以通过订单id,或者用户id,进行取模存储:$server = [ 0, 2021-03-17 浏览(432) 评论(0) 阅读全文
原创 数据库 elasticsearch 入门原理解析 前言在使用mysql的时候,为了查询速度,我们都会使用索引这个东西(如果不知道什么叫索引,可以百度看看)现在问题来了,索引对 like "%xx%" 是不生效的,这就意味着无法快速的模糊匹配查询数据,那么有什么办法解决这个问题吗?倒排索引例如有一组数据:[ { &nb 2021-03-05 浏览(288) 评论(0) 阅读全文