自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zwj1030711290的CSDN

全力学习Java

  • 博客(28)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 九、Redis开发规范与性能优化

一、键值设计1. key名设计(1)【建议】: 可读性和可管理性以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:idtrade:order:1(2)【建议】:简洁性保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如:user:{uid}:friends:messages:{mid} 简化为 u:{uid}:fr:m:{mid}(3)【强制】:不要包含特殊字符反例:包含空格、换行、单双引号以及其他转义字符2. value设计

2021-04-29 22:39:11 240

转载 八、Redis集群水平扩容

Redis3.0以后的版本虽然有了集群功能,提供了比之前版本的哨兵模式更高的性能与可用性,但是集群的水平扩展却比较麻烦,今天就来带大家看看redis高可用集群如何做水平扩展。一、启动集群1、启动在之前搭建好的环境上执行如下命令启动执行在 192.168.157.6上执行cd /usr/local/redis/srcredis-server ../redis_cluster/7000/redis.confredis-server ../redis_cluster/7001/redis

2021-04-29 22:38:28 680

转载 redis集群报错:(error) CLUSTERDOWN The cluster is down

更换了电脑,把原来的电脑上的虚拟机复制到了新电脑上,启动虚拟机上的centos系统,然后启动redis集群(redis5版本),发现集群可以启动,redis进程也有,但是连接集群中的任意节点就报错,如下查看单个节点的集群配置信息:发现是因为原来的集群配置信息导致的错误,需要将每个redis实例下的dump.rdb 和nodes.conf文件删除,然后重新创建集群重新创建集群:首先启动6个redis实例2 .进入任意一个redis实例,执行集群创建命令:./r...

2021-04-29 00:56:29 3142

转载 七、Redis哨兵模式和高可用集群模式比较

一、哨兵模式在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master,哨兵的配置略微复杂,并且性能和高可用性等各方面表现一般,特别是在主从切换的瞬间存在访问瞬断的情况,而且哨兵模式只有一个主节点对外提供服务,没法支持很高的并发,且单个主节点内存也不宜设置得过大,否则会导致持久化文件过大,影响数据恢复或主从同步的效率搭建可以参考:https://www.suibibk.com/t

2021-04-28 14:14:38 8218

转载 六、Redis Java连接示例(连接池、哨兵、springboot、集群)

下面介绍用Java连接redis的一些例子,涉及管道、lua、哨兵连接、springboot连接的例子。一、Java连接池连接(管道,lua)加入如下依赖<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version></dependency&

2021-04-28 14:13:39 1453

转载 五、Redis哨兵高可用架构

sentinel哨兵是特殊的redis服务,不提供读写服务,主要用来监控redis实例节点。哨兵架构下client端第一次从哨兵找出redis的主节点,后续就直接访问redis的主节点,不会每次都通过sentinel代理访问redis的主节点,当redis的主节点发生变化,哨兵会第一时间感知到,并且将新的redis主节点通知给client端(这里面redis的client端一般都实现了订阅功能,订阅sentinel发布的节点变动消息)一、redis哨兵架构搭建步骤1、复制一份sentinel.c

2021-04-28 14:06:20 117

转载 四、Redis主从架构

一、Redis主从工作原理如果你为master配置了一个slave,不管这个slave是否是第一次连接上Master,它都会发送一个SYNC命令(redis2.8版本之前的命令)给master请求复制数据。master收到SYNC命令后,会在后台进行数据持久化通过bgsave生成最新的rdb快照文件,持久化期间,master会继续接收客户端的请求,它会把这些可能修改数据集的请求缓存在内存中。当持久化进行完毕以后,master会把这份rdb文件数据集发送给slave,slave会把接收到的数据进行持久

2021-04-28 14:05:29 116

转载 三、Redis持久化机制

redis是一个内存数据库,数据保存在内存中,但是我们都知道内存的数据变化是很快的,也容易发生丢失。幸好Redis还为我们提供了持久化的机制,分别是RDB(Redis DataBase)和AOF(Append Only File)。一、RDB(Redis DataBase)在默认情况下, Redis 将内存数据库快照保存在名字为 dump.rdb 的二进制文件中。你可以对 Redis 进行设置, 让它在“ N 秒内数据集至少有 M 个改动”这一条件被满足时, 自动保存一次数据集。比如说, 以下设置会

2021-04-28 14:04:47 131

转载 二、Redis的单线程和高性能

一、Redis 单线程为什么还能这么快?因为它所有的数据都在内存中,所有的运算都是内存级别的运算,而且单线程避免了多线程的切换性能损耗问题。正因为 Redis 是单线程,所以要小心使用 Redis 指令,对于那些耗时的指令(比如keys),一定要谨慎使用,一不小心就可能会导致 Redis 卡顿。二、Redis 单线程如何处理那么多的并发客户端连接?Redis的IO多路复用:redis利用epoll来实现IO多路复用,将连接信息和事件放到队列中,依次放到文件事件分派器,事件分派器将事件分发给事件处

2021-04-28 14:03:12 90

转载 一、Redis的数据结构以及相关应用场景

Redis有如下五种最常使用的数据结构:字符串string、哈希hash、列表list、集合set、有序集合一、String结构1、字符串常用操作SET key value //存入字符串键值对 MSET key value [key value ...] //批量存储字符串键值对 SETNX key value //存入一个不存在的字符串键值对 GET key //获取一个字符串键值 MGET key [key ...] //批量获取字符串键值 DEL key [key ..

2021-04-28 14:02:02 175

转载 一文读懂Redis的四种模式,单机、主从、哨兵、集群

入职那天下午,组长给我丢了几个文档,让我看下这个这些工程的缓存系统问题,让我把redis升级为哨兵模式。接到任务的我,内心是懵逼的。第一、不知道都是些什么类型的服务在用redis。第二、不知道以什么姿势在用redis。第三、如果redis挂了会不会影响用户。第四、我完全没用过redis。虽说没干过,但咋也不怂。毕竟要是天天干的都是干过的工作,那就是有问题了,很快就被优化掉了。看来社招入职和校招还是不一样的,校招进来都会有些入职培训或者新人班课程。通过这些形式的教育,第一、

2021-04-28 11:31:45 760

转载 redis面试

作者:敖丙链接:https://www.zhihu.com/question/354518943/answer/888891865小伙子你好,之前问过了你基础知识以及一些缓存的常见几个大问题了,那你能跟我聊聊为啥Redis那么快么?哦,帅气迷人的面试官您好,我们可以先看一下关系型数据库跟Redis本质上的区别。Redis采用的是基于内存的采用的是单进程单线程模型的 KV 数据库,由C语言编写,官方提供的数据是可以达到100000+的QPS(每秒内查询次数)。 完全基于内存,绝大部分.

2021-04-28 10:33:55 171

转载 redis5.0集群搭建

redis5.0开始,不用ruby就能搭建集群,方便太多。从零开始吧,我是先学习了单机版redis,分别在centos8.0和ubuntu20.04开了一个单机版,测试都没问题。等到集群时发现哪哪都不顺,所以记录下来。回顾: 1.centos下yum install -y gcc #依赖gcc,所以必须安装wget http://download.redis.io/releases/redis-5.0.5.tar.gz ...

2021-04-28 02:45:07 588

转载 [ERR] Node 192.168.1.200:7001 is not empty. Either the nodealready knows other nodes (check with CL

关于启动redis集群时:[ERR] Node 172.168.63.202:7001 is not empty. Either the nodealready knows other nodes (check with CLUSTER NODES) or contains some的问题解决办法:1)将每个节点下aof、rdb、nodes.conf本地备份文件删除;2)172.168.63.201:7001> flushdb #清空当前数据库(可省略)3)之后再执行脚本,成功..

2021-04-27 21:38:07 1404

转载 Multiple Endpoints may not be deployed to the same path [] : existing endpoint...

一.问题回顾在springboot中添加了websocket功能在内置的tomcat中可以启动该功能,但是打包成war包之后在外部tomcat中启动就报如下的错误javax.websocket.DeploymentException: Multiple Endpoints may not be deployed to the path二.刨根问底关于异常原因,可以参考这篇博文:https://stackoverflow.com/questions/31178799/websocket-

2021-04-27 09:22:01 1945

转载 互联网公司常用MySQL分库分表方案

2、水平分表3、垂直分库4、垂直分表三、分库分表工具注:工具的利弊,请自行调研,官网和社区优先。四、分库分表步骤根据容量(当前容量和增长量)评估分库或分表个数 -> 选key(均匀)-> 分表规则(hash或range等)-> 执行(一般双写)-> 扩容问题(尽量减少数据的移动)。五、分库分表问题1、非partition key的查询问题基于水平分库分表,拆分策略为常用的hash法。...

2021-04-25 18:05:48 135

转载 七.deepin备份还原

鉴于deepin的不稳定性,备份还原功能需要多关注一下。deepin官方提供了深度live系统,集成有系统修复和备份还原的功能,这个系统有点类似windows下的PE工具。下载深度live系统:https://www.deepin.org/zh/download/制作深度live启动盘利用deepin自带的启动盘制作工具,把刚刚下载的深度live系统写入u盘,图形界面根据提示下一步下一步就好了,这里省略制作过程。从u盘启动深度live系统重启电脑进入u盘里的live系统(可设置b

2021-04-25 10:04:00 3526 1

转载 六.win10+deepin双系统遇到的小问题(累加)

1.双系统导致Win10系统时间出错原因分析:① 每次从Ubuntu切换会Win10,Win10的时间都会出错,并且都是与实际时间相差8小时(这是由于Win10设置的是中国时区)。② Win10使用rtc时间,Ubuntu默认使用utc时间。③ 从bios读出来的时间,Win10认为该时间就是实际时间,Ubuntu认为该时间加上8小时后的才是实际时间。④ timedatectl在Ubuntu系统每次启动时都会从NTP服务器同步时间。所以即使切换到Win10更改时间后,当再次从Ubuntu切换到

2021-04-25 09:06:39 300

原创 五.deepin常用快捷键

2021-04-25 01:13:05 1102

转载 四.deepin相关命令

1.配置环境变量sudo vi /etc/profile #编辑环境变量,i是编辑,:q!取消,:wq保存并退出source /etc/profile #使配置生效2.修改主机名sudo vi /etc/hostname #主机名sudo vi /etc/hosts #网络映射名3.更新命令sudo apt-get update #更新缓存sudo apt-get upgrade #更新系统的软件包sudo apt-get dist-upgrad

2021-04-25 01:07:13 1670

转载 三.Deepin(Ubuntu)安装rpm软件包 &&& 软件服务器自启动

1.首先安装alien和fakeroot这两个软件,alien可以将rpm转换为deb包。 在终端中输入命令 sudo apt-get install alien fakeroot 2.使用alien将rpm包转为deb包: fakeroot alien javase*.rpm 3.转换成功,可以即刻使用这个命令来安装: sudo dpkg -i javase*.deb如果安装rpm包,照下面做...

2021-04-25 00:30:43 626

原创 二.deepin安装软件(1)

1.微信:因为是wine版,所以选择了应用商店 一键安装。2.QQ:具体步骤可参考linuxQQ安装步骤GTK (GIMP Toolkit) 是一套用于创建图形用户界面的工具包。它遵循 LGPL 许可证,所以你可以用它来开发开源软件、自由软件,甚至是封闭源代码的商业软件,而不用花费任何钱来购买许可证和使用权。 GTK 被称为 GIMP 工具包是因为最初写它是用来开发 GIMP (GNU 图像处理程序) 的,但是它现在已经被用于很多软件项目了,包括 GNOME (GNU 网络对象模型环境)。GTK

2021-04-25 00:27:08 594 6

原创 一.安装deepin

笔记本是联想拯救者y7000,原配:cpu i5-8300h ,三星内存8g,固态128g+2T机械,独显是nvidia--gtx1050ti。后加装16G同品牌同频率内存组24G内存,固态128卸掉换512,伴随着几次win10升级,电脑待机经常无法唤醒,网上的办法除了重做系统外,其他都尝试过都未能解决。到底是硬件兼容性问题还算win10升级的锅? 加上一直以来对linux的好奇,打算装个deepin,win10+deepin组合为双系统,经过网上冲浪,发现对于我这种双硬盘+双显卡(集显+英伟达独显)真.

2021-04-24 17:52:47 350

原创 Linux CentOS 校正系统时间

Linux CentOS 校正系统时间yum -y install ntpntpdate 1.cn.pool.ntp.org # 根据网络时间校正tzselect # 选择时区:5Asia->9 China->1->Beijing Time ->1 yesecho 'TZ='Asia/Shanghai'; export TZ' > ~/.profile # 时区信息写入配置文件hwclock -w # 软件时间同步至硬件时间date # 查看当前时间.

2021-04-13 15:21:19 217

原创 ubuntu基础一

Ubuntu安装ifconfig工具apt-get install net-tools安装vimsudo apt install vim下载gccsudo apt-get build-dep gccubuntu下使用apt-get install安装的软件的相关位置有时候需要配置ubuntu安装的软件,一般安装软件都是使用apt-get install。那么安装完后,软件的安装目录在哪里呢,可执行文件又放在哪里呢。A、下载的软件的存放位置:/var/cache/apt/ar.

2021-04-09 01:08:37 174

转载 ubuntu命令安装redis并设置自启动

由于没时间系统学习,只能是用到什么记录什么,有点杂乱安装redis有两种方式一.apt安装本文Ubuntu环境(20.04)安装redissudo apt-get install -y redis-server设置密码sudo vim /etc/redis/redis/redis.conf修改配置文件里的requirepass,把注释关掉,然后后面改为你想设置的密码,然后再重新启动redis即可service redis restart再进行redis操作的时候就会提示输入密码

2021-04-09 01:00:17 4497 4

原创 ubuntu20.04更改为国内软件源

一.图形界面操作 - 适用于 desktop 版本在桌面右上角点击打开菜单,点击设置选项。在设置选项右侧下拉找到“关于”,点击 Software Updates。在软件和更新界面里可以看到“下载自”,我们可以进行修改。推荐选择mirros.aliyun.com或者mirrors.tuna.tsinghua.edu.cn,你也可以点击选择最佳服务器,测试连接最快的软件源(测试时间较长)。最后,退出软件与更新界面时,会提示更新软件列表信息,点击重新载入即可。终端...

2021-04-08 14:31:01 9305 1

原创 个人开发环境测试https工具

由于 HTTPS 具有良好的安全性,在开发中得到了越来越广泛的应用,像微信公众号、小程序 等的开发都要使用 HTTPS 来完成。对于个人开发者而言 一个 HTTPS 证书的价格还是有点贵, 国内有 些云服务器厂商提供免费的HTTPS 证书,一个账号可以申请数个。不过在 jdk中提供了 Java 证书管理工具keytool,在 \jdk bin目录下,通过这个工具可 以自己生成一个数字证书, 生成命令如下:keytool -genkey -alias tomcathttps -keya...

2021-04-03 21:46:23 608

新版本eclipse可用的打包工具 fat-jar

eclipse添加这个插件,便于打包程序运行

2017-07-26

小诊所诊治病历信息管理系统

小诊所管理系统,纯jsp+servlet开发,数据库为mysql

2017-05-27

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

TA关注的人

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