- 博客(71)
- 资源 (4)
- 收藏
- 关注
原创 Redis Cluster集群
简介集群模式是实际使用最多的模式。Redis Cluster是社区版推出的Redis分布式集群解决方案,主要解决Redis分布式方面的需求,比如当遇到单机内存,并发和流量等瓶颈时,Redis Cluster能祈祷很好的负载均衡的目的。为什么使用redis-cluster?为了在大流量访问下提供稳定的业务,集群化是存储的必然形态未来的发展趋势肯定是云计算和大数据的紧密集合只有分布式架构能满足要求集群描述Redis集群搭建方案:1、Twitter开发的twemproxy2、豌豆荚开发的cod
2020-07-16 20:52:25
1278
原创 Redis哨兵模式
简介Redis-Sentinel(哨兵模式)是高可用解决方案,当redis在做master-slave的高可用方案时,加入master宕机,redis本身以及其他客户端都没有实现自动进行主备切换,而redis-sentinel本身也是独立运行的进程,可以部署在其他与redis集群可通讯的机器中监控redis集群有了主从复制的实现之后,如果想从服务器进行监控,可以采用哨兵机制,监控Redis系统的运行状况哨兵模式特点1、不停地监控redis是否按照预期良好地运行2、如果发现某个redis节点运行出
2020-07-06 15:31:05
206
原创 Redis主从复制
电商网站上的商品,一般都是一次上传,无数次浏览的,也就是多读少写主从复制一个Redis服务可以有多个该服务的复制品,这个Redis服务成为Master,其他复制称为Slaves一台Redis服务器作为主库(Master),其他三台作为从库(Slave),主库只负责写数据,每次有数据更新都将更新的数据同步到它所有的从库,而从库只负责读数据。这样设计有两个好处:1、读写分离,不仅可以提高服务器的负载能力,并且可以根据读请求的规模自由增加或者减少从库的数量2、数据被复制成了好几份,就算有一台机器发生故
2020-07-06 15:05:48
167
原创 Redis的内存维护策略
Redis作为优秀的中间缓存键,时常会存储大量的数据,即使采取了集群部署来动态扩容,也应该即时的整理内存,维持系统性能Redis两种清理内存的解决方案1、为数据设置超时时间设置过期时间expire key time(以秒为单位)–常用方式setex(String key,int seconds,String value)–字符串独有的方式除了字符串自己独有的设置过期时间的方法外,其他方法都需要依靠expire方法来设置时间如果没有设置时间,那缓存就是永不过期如果设置了过期时间,只有又想让缓存
2020-07-06 14:19:50
119
原创 Redis简介
概念什么是Redis?Redis 是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存且可持久化的日志型、key-Value数据库,并提供多种语言的APIRedis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,
2020-07-06 12:34:16
129
原创 Redis缓存与数据一致性
一、实时同步对强一致要求比较高的,应采用实时同步方案,即查询缓存查询不到再从DB查询,保存到缓存;更新缓存时,先更新数据库,再将缓存的设置过期(建议不要去更新缓存内容,直接设置缓存过期)。@Cacheable:查询时使用,注意Long类型需转换为Sting类型,否则会抛异常@CachePut:更新时使用,使用此注解,一定会从DB上查询数据@CacheEvict:删除时使用;@Caching:组合用法非实时同步实时:一方修改,另一方同步修改非实时:一方修改,另一方不需要同步修改一个文章,一分
2020-07-06 12:07:51
548
原创 Redis持久化机制
什么是Redis持久化?持久化就是把内存的数据写到磁盘中,防止服务宕机导致内存数据的丢失。数据存储:内存:高效、断电(关机)内存数据会丢失磁盘:读写速度慢于内存,断电数据不会丢失Redis持久化存储的两种方式:RDB(默认)和AOF,RDB一定时间存储文件,AOF默认每秒去存储历史命令。Redis是支持持久化的内存数据库,redis需要经常将内存中的数据同步到硬盘来持久化RDBRedis DataBase的缩写,功能核心函数rdbSave(生成RDB文件)和rdbLoad(从文件加载内存)两
2020-07-06 10:43:44
110
原创 Redis事务
简介Redis事务可以一次执行多个命令,按顺序地串行化执行,执行中不会被其他命令插入,不允许加塞执行。Redis事务可以一次执行多个命令(允许在一次单独的步骤中执行一组命令),并且带有以下两个重要的保证:1、Redis会将一个事务中的所有命令序列化,然后按顺序执行2、执行中不会被其他命令插入,不允许出现加塞行为执行原理1、批量操作在发送EXEC命令前被放入队列缓存。2、收到EXEC命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。3、在事务执行过程中,其他客户端提交的命令不会
2020-07-06 10:10:58
128
原创 Redis多数据库
Redis下,数据库是由一整数索引标识,而不是由一个数据库名称,默认情况下,一个客户端连接到数据库0。redis配置文件中database参数控制数据库总数:database 16 //(从0到15)切换数据库select 数据库索引移动数据库(将当前key移动到另一个库)move key名称 数据库索引清空数据库1、清除当前数据库中所有keyflushdb2、清除整个redis的数据库所有keyflushall...
2020-07-06 09:08:33
93
原创 Redis消息通信模式之发布订阅
简介Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接受消息。Redis客户端可以订阅任意数量的频道。常用命令订阅频道1、订阅给定的一个或多个频道的信息SUBSCRIBE channel [channel1...]2、订阅一个或多个符合给定模式的频道PSUBSCRIBE pattern [pattern1...]发布频道1、将消息发送到指定频道PUBLISH channel message退订频道1、退订给定的频道UNSU
2020-07-05 16:34:41
238
原创 Redis数据结构之HyperLogLog
简介redis在2.8.9版本添加 了HyperLogLog结构,Redis HyperLogLog是用来做基数统计的算法,HyperLogLog优点是,在输入元素的数量或者体积非常大时,计算基数所需的空间总是固定的,并且是很小的。在redis里面,每个HyperLogLog键只需要花费12kb内存,就可以计算接近2^64个不同元素的基数,这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比,但是因为HyperLogLog只会根据输入元素来计算基数,而不会存储输入元素本身,所以HyperLogLog
2020-07-05 16:10:57
175
原创 Redis数据类型之ZSet类型
定义有序集合(sorted set)1、Redis 有序集合和集合一样,也是String类型元素的集合,且不允许有重复的成员。2、不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。3、有序集合的成员是唯一的,但分数(score)却可以重复。4、集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 2^32 - 1 ( 每个集合可存储40多亿个成员)。常用语法命令赋值:向有序集合添加一个或多个成员,
2020-07-04 19:27:54
267
原创 Redis数据类型之Set类型
定义Redis抵御Set是String类型的无序集合,集合成员是唯一的,无重复数据,唯一且数据无序。redis中集合是通过哈希表实现的,set是通过hashtable实现的,集合中最大成员数为2^32-1(每个集合可存储40多亿个成员),类似于java中的HashTable集合。常用语法命令赋值向集合添加 一个或多个成员SADD key member1 [member2]取值1、获取集合的成员数SCARD key2、返回集合中的所有成员SMEMBERS key3、判断membe
2020-07-04 14:51:46
148
原创 Redis数据类型之List类型
定义List类型是一个链表结果的集合,其主要功能有push、pop、获取元素等,List类型是一个双向链表的结构,可以实现在集合的头部或尾部添加 和删除元素,List即可以作为栈,又可以作为队列,满足大多数需求按照插入顺序排序,可以添加一个元素到列表的头部或者尾部,一个列表最多可以包含2^32-1个元素(每个列表超过40亿个元素)类似于Java中的LinkedList常用语法命令赋值1、将一个或多个值插入到列表头部(从左侧添加)LPUSH key value1 [value2]2、将一个或多
2020-07-02 16:11:44
300
原创 Redis数据类型之Hash类型
定义Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。 Redis 中每个 hash 可以存储 2^32 - 1 键值对(40多亿)可以看成具有KEY和VALUE的MAP容器,该类型非常适合于存储值对象的信息,该类型的数据仅占用很少的磁盘空间(相比于JSON)常用语法命令赋值:1、为指定的KEY,设定FILD/VALUEHSET KEY FIELD VALUE 2、同时将多个 field-value (域-值)对设置到哈希表 key
2020-07-02 14:49:25
195
原创 Redis数据类型之String类型
定义String是redis最基本的类型,一个key对应一个value。String类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。String类型是Redis最基本的数据类型,一个键最大能存储512MB。常用语法命令赋值:1、Redis SET 命令用于设置给定 key 的值。如果 key 已经存储值, SET 就覆写旧值,且无视类型SET KEY_NAME VALUE2、只有在 key 不存在时设置 key 的值。Setnx(SET
2020-07-02 14:26:23
172
原创 linux安装redis
安装Redis下载地址:https://redis.io/解压安装包tar -xvf redis-6.0.5.tar.gz 进入解压目录,执行make命令,编译redis源码,如报错需要安装gccyum install gcc -y编译成功后执行如下命令进行指定目录安装make PREFIX=/home/redis/app/redis install修改redis.conf文件bind 0.0.0.0pidfile redis.pidprotected-mode
2020-06-30 17:58:10
88
原创 Junit执行报错java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
解决方法:分析原因:1、首先检查是否缺少hamcrest包,如果不存在添加hamcrest包(hamcrest-core-1.3.jar)jar下载2、右键点击项目-属性-Java Build Path-Source-Output Folder-设置成:项目名称/target/test-classes...
2020-06-04 08:26:11
137
原创 activiti.cfg.xml
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean.
2020-06-02 22:14:20
279
原创 Log4j.properties
### 配置根 ###log4j.rootLogger = debug,console ,fileAppender,dailyRollingFile,ROLLING_FILE,MAIL,DATABASE ### 设置输出sql的级别,其中logger后面的内容全部为jar包中所包含的包名 ###log4j.logger.org.apache=dubuglog4j.logger.java.sql.Connection=dubuglog4j.logger.java.sql.Statement=dub
2020-06-02 22:12:00
77
原创 Nginx.sh脚本内容
#!/bin/sh#chkconfig: - 85 15# description: nginx# processname: nginx# config: /home/nginx/app/nginx/conf/nginx.conf# Source function library.. /etc/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking i
2020-06-02 22:10:20
413
原创 Application.yml
server: port: 8088spring: datasource: name: test url: jdbc:mysql://localhost:3306/test username: root password: xxx # 使用druid数据源 type: com.alibaba.druid.pool.DruidDataSource driver-class-name:
2020-06-02 22:09:22
90
原创 Nginx.conf
#user nobody;worker_processes 1; #工作进程:数目。根据硬件调整,通常等于cpu数量或者2倍cpu数量。 #错误日志存放路径#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info; #pid logs/nginx.pid; # nginx进程pid存放路径 events { worker_con
2020-06-02 22:08:41
87
转载 Mybatis-generator.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfigura
2020-06-02 22:07:47
528
原创 Vue
数据渲染 v-text v-html {{}}控制块隐藏 v-if:不渲染dom v-show:display:none控制隐藏 渲染dom渲染循环列表 v-for事件绑定 v-on:click @click属性绑定 v-bind:src v-bind:class :src :classnew一个vue对象 需要设置它的属性,data vue对象的数据methods vue对象的方法Watch 设置对象的监听方法搭建vue项目Vu-cli2 npm instal
2020-06-02 22:06:21
84
原创 XXL-JOB分布式任务调度平台
Xxl-job文档:http://www.xuxueli.com/xxl-job/https://www.oschina.net/project/top_cn_2019
2020-06-02 22:00:12
78
原创 Win10查看端口占用情况
步骤一:cmd下面输入下面命令netstat -ano|findstr "8082"此时显示占用8082端口的进程详细信息,最后一列是PID,等会输入PID。步骤二:然后输入tasklist|findstr "PID号"最后kill进程此时出现进程名然后输入,#记得有.exe后缀的要加上taskkill /f /im 进程名...
2020-06-02 21:58:36
341
原创 win系统Node.js安装
C:\Users\Administrator>node -vv12.16.3C:\Users\Administrator>npm -v6.14.4C:\Users\Administrator>npm config ls -luserconfig = “C:\\Users\\Administrator\\.npmrc”npm config set registry=http://192.168.1.10/nexus/repository/npm/ npm adduser
2020-06-02 21:53:56
101
原创 Linux代理npm仓库
https://npm.taobao.org/mirrorsWget https://npm.taobao.org/mirrors/node/v10.16.3/node-v10.16.3-linux-x64.tar.gznexus代理npm仓库添加淘宝镜像 https://registry.npm.taobao.org/
2020-06-02 21:46:31
352
原创 linux安装elastic-head-master
https://github.com/mobz/elasticsearch-head/archive/master.zipLinux命令-安装zip和unzip命令1 [root@iz2zeea05by6vofxzsoxdbz elasticsearch]#unzip elasticsearch-6.2.4.zip 2 -bash: unzip: command not found如果你如法使用unzip命令解压.zip文件,可能是你没有安装unzip软件,下面是安装方法命令: #获取安装列
2020-06-02 21:38:13
357
原创 linux常用mysql命令
查看状态Service mysql statussystemctl status mysql启动mysqlService mysql startsystemctl start mysql关闭Service mysql stopsystemctl stop mysql登录Mysql -u root -p 输入密码: root查看所有数据库Show databases;创建数据库: create database 库名;创建用
2020-06-02 21:34:57
363
原创 linux查看所有用户
cat /etc/passwd1、Linux里查看所有用户(1)在终端里.其实只需要查看 /etc/passwd文件就行了.(2)看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用户.或者用cat /etc/passwd |cut -f 1 -d :2、用户管理命令useradd 注:添加用户adduser 注:添加用户passwd 注:为用户设置密码usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;pwcov 注:同步用.
2020-06-02 21:28:11
25451
原创 linux安装MySQL8.0
下载地址:https://dev.mysql.com/downloads/mysql/选择1.解压mysql-8.0.12-linux-glibc2.12-x86_64.tar.xzxz -d mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz 生成mysql-8.0.12-linux-glibc2.12-x86_64.tartar -xvf mysql-8.0.12-linux-glibc2.12-x86_64.tar2.重命名解压后生成的mysql
2020-06-02 21:22:08
3257
1
原创 linux安装ActiveMQ
下载ActiveMQhttp://activemq.apache.org/components/classic/download/解压:tar apache-activemq-5.15.8-bin.tar.gz进入目录:cd apache-activemq-5.15.8/bin启动activeMQ:./activemq start查看activeMQ的运行状态:./activemq status关闭activeMQ : ./activemq stop修改配置文件:cd a
2020-06-02 21:09:29
140
原创 linux安装zookeeper
安装1.下载zookeeperhttp://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/2.解压完成后 到conf目录下拷贝一份配置文件, 这是解压后conf目录下的内容使用 cp zoo_sample.cfg zoo.cfg 命令拷贝一份配置文件(zookeeper会默认读取zoo.cfg配置文件)到这为止单台zookeeper就安装完成了.cp zoo_sample.cfg zoo.cfg3.创建data文件夹/home/zo
2020-06-02 21:05:06
193
1
原创 linux安装Nginx
创建nginx用户1、 useradd nginx2、passwd nginx 设置密码 nginx3、root用户 执行 visudo 添加nginx用户nginx用户登录1、安装gcc插件nginx是C语言开发,建议在linux上运行。安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc安装命令:sudo yum -y install gcc查看gcc版本 :gcc -v2、pcre、pcre-devel安装pcre是一个pe
2020-06-02 21:01:27
3108
1
原创 linux安装Nexus
安装一般远程调用下载软件,一般文件路径类型是http,下载https文件需要一个认证指令,即wget 后面加上--no-check-certificatewget --no-check-certificate https://download.sonatype.com/nexus/3/latest-unix.tar.gz#解压文件tar -zxvf nexus-3.19.1-01-unix.tar.gz -C ../software/[maven@bogon software]$ lsnex
2020-06-02 20:46:48
1100
原创 linux安装maven
maven官网https://maven.apache.org/download.cgi下载mavenwget https://www-eu.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz或者打开网址下载后,通过ftp上传到服务器https://downloads.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.
2020-06-02 20:27:22
87
原创 linux修改yum镜像源
1.下载wget工具yum install -y wget进入yum源配置文件所在文件夹cd /etc/yum.repos.d/3.备份本地yum源mv CentOS-Base.repo CentOS-Base.repo_bak4.获取国内yum源(阿里、163二选一)wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repohttp://mirrors.aliyun.com/repo/Centos-8
2020-06-02 20:25:18
221
node-v14.3.0-x64.msi
2020-06-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人