Redis笔记(五)——Set数据类型

一、概述 在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作。需要说明的是,这些操作的时间复杂度为O(1),即常量时间内完成次操作。Set可包含的最大元素数量是4294967295。 和List类型不同的是,Set集合中不允许出现重复的元素,这一点和C++标准库中的set容器是完全相同的。换句话说,如果多次添加相同元素,Set中将仅保留该元素的一份拷贝。和List类型相比,Set类型在功能上还
分类: 其他 发布时间: 03-24 22:52 阅读次数: 0

Redis笔记(四)——Hash数据类型

一、概述 我们可以将Redis中的Hash类型看成具有String Key和String Value的map容器。所以该类型非常适合于存储值对象的信息。如Username、Password和Age等。如果Hash中包含很少的字段,那么该类型的数据也将仅占用很少的磁盘空间。每一个Hash可以存储4294967295个键值对。 二、相关命令 1、赋值命令 命令原型:HSET key field value 时间复杂度:O(1) 命令描述:为指定的Key设定Field/Value对,如果Key不存在
分类: 其他 发布时间: 03-24 22:52 阅读次数: 0

Redis笔记(三)——List数据类型

一、概述 在Redis中,List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素。在插入时,如果该键并不存在,Redis将为该键创建一个新的链表。与此相反,如果链表中所有的元素均被移除,那么该键也将会被从数据库中删除。List中可以包含的最大元素数量是4294967295。 从元素插入和删除的效率视角来看,如果我们是在链表的两头插入或删除元素,这将会是非常高效的操作,即使链表中已经存储了百万条记录,该操作也可以在常量
分类: 其他 发布时间: 03-24 22:51 阅读次数: 0

PHP关于高并发大流量问题的解决方案

一、高并发的概念 高并发指的是在一个很短的单位时间内,有大量的用户对你的服务器发起请求。比如商城的“秒杀”或者淘宝的“双11”等。 二、相关概念 1、QPS Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够做出相应查询的次数。互联网领域内,经常用每秒查询率来衡量服务器的性能。 QPS的计算遵循“八二定律”,即每天80%的访问集中在20%的时间里,这20%的时间为峰值时间 八二定律公式:( 总PV * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请
分类: 其他 发布时间: 03-24 22:51 阅读次数: 0

TP5.0项目上线遇到的问题

一、项目上线后出现500的错误 项目环境:Ubuntu + Nginx + MySQL + PHP 将项目文件的所有权限都打开 进入 /usr/local/nginx/conf/vhost 目录,编辑文件,在 server 下加入一下代码: location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; } } location ~ \.php
分类: 其他 发布时间: 03-24 22:51 阅读次数: 0

使用一键安装包搭建 LNMP 环境

内容来源:https://lnmp.org 介绍 LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。 系统要求 CentOS/RHEL/Fedor
分类: 其他 发布时间: 03-24 22:50 阅读次数: 0

卸载安装在 Ubuntu 系统下的 Redis 服务器

内容来源:http://grainier.net/how-to-uninstall-redis-server-from-ubuntu/ 一、使用 apt-get 方式安装 执行如下命令: sudo apt-get purge --auto-remove redis-server 这样就能删除 Redis 的软件包和配置文件 二、使用 makefile 方式安装 这是有点棘手的地方。因为您必须手动删除已安装的文件 如果Redis服务器已在运行,请将其停止。请记住,如果您有多个实例,则必须停止所
分类: 其他 发布时间: 03-24 22:50 阅读次数: 0

SQL注入以及防止SQL注入的方法

一、SQL注入简介 通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 二、SQL注入攻击的思路 找到SQL注入的位置 判断服务器类型和后台数据库类型 针对不同服务器和数据库的特点进行SQL注入攻击 三、SQL注入实例 一个要求输入用户名和密码的登陆界面 后台程序进行验证的SQL语句如下: select * from user_table where username=' "$username" ' and password= ' "
分类: 其他 发布时间: 03-24 22:50 阅读次数: 0

Apache 和 Nginx 的区别

内容来源:https://cloud.tencent.com/developer/news/335638 一、Nginx 相对于 Apache 的优点 轻量级,同样的 web 服务,Nginx 占用更少的内存和资源 抗并发,Nginx 处理请求是异步非阻塞的,Apache 是阻塞的,在高并发下 Nginx 能保持低资源低消耗高性能 高度模块化的设计,编写模块相对简单 二、Apache 相对于 Nginx 的优点 rewrite,Apache 的 rewrite 更强大 模块多,能想到的都能找到
分类: 其他 发布时间: 03-24 22:50 阅读次数: 0

微信开封平台——保存用户信息(4)

UserServiceImpl @Override public User saveWeChatUser(String code) { String accessTokenUrl = String.format(WeChatConfig.getOpenAccessTokenUrl(),weChatConfig.getOpenAppid(),weChatConfig.getOpenAppsecret(),code); //获取access_token Map<Str
分类: 其他 发布时间: 03-24 22:49 阅读次数: 0

微信开封平台——根据JWT生成token回写客户端(5)

简介: 用户授权登录之后,需要生成登录凭证,重定向到页面上 之前的access_page表示当前的页面 当我们点击微信登录的时候 url地址栏的state会指向当前的地址 首页点击微信登录 https://open.weixin.qq.com/connect/qrconnect?appid=wx25bc3c42ddcc664f&redirect_uri=https%3A%2F%2Fapi.xdclass.net%2Fpub%2Fapi%2Fv1%2Fwechat%2Fuser%2Fcallba
分类: 其他 发布时间: 03-24 22:49 阅读次数: 0

mybits---参数找不到异常处理

在初次使用mybits的时候,经常遇到下面的问题,很是头疼,后来通过阅读博客终于解决了该问题!! org.apache.ibatis.binding.BindingException: Parameter 'company' not found. Available parameters are [1, 0, param1, param2] 报错解决 经常使用mybatis或者跟数据库打交道的都老爱语句这个异常,那么就总结一下解决方案,省得我下次又去找。 1、Dao层的抽象方法中的参数一般情况
分类: 其他 发布时间: 03-24 22:49 阅读次数: 0

IDEA常用插件的安装

一、插件的下载 首先点击File->Settings...->pulgins->输入XXXXX搜索->install重启idea 1.翻译插件 在查看源代码时常常遇到不懂的英文单词,这时打开浏览器进行翻译很浪费时间,也非常繁琐,在这推荐一个翻译插件的使用 2. Grep Console 设置日志级别的颜色 首先点击File->Settings...->Grep Console在Foreground勾选上自己想要的颜色,记得default选项勾选才会显示。如下:
分类: 其他 发布时间: 03-24 22:48 阅读次数: 0

IDEA的学习

1.安装插件 首先点击File->Settings...->pulgins->输入XXXXX搜索->install重启idea 2.查找一个抽象类或接口的实现 快捷键 ctrl+alt+b 3.查看类之间的关系,形成关系图 找到类----》右键-----》Diagrams-----》show Diagrams 4.查看类内部的结构 ctrl +左键进入到类中 点击Structure就可快速查看类的结构
分类: 其他 发布时间: 03-24 22:48 阅读次数: 0

多线程——多线程debug调试(非常非常详细的调试)

在日常开发中我们经常会遇到多线程Debug调试, 一般我们都是利用Spring Boot对外提供接口,Tomcat中在有多人同时访问时,会开启多线程,但是,这时有可能发生异常。 说明接口在多线程访问中不是很稳定,这时就要利用多线程的Debug调试。 以下是一个小Demo来演示多线程的Debug调试 public class LockDemoReetrantLock { private int i=0; private ReentrantLock reentrantLock=n
分类: 其他 发布时间: 03-24 22:48 阅读次数: 0

对线程的启动——dubug过程调试

调试demo public class MyThread extends Thread { @Override public void run() { for (int i=0;i<50000;i++){ System.out.println("i==========="+i); } } public static void main(String[] args){ try {
分类: 其他 发布时间: 03-24 22:48 阅读次数: 0

Centos7——maven详细安装

1.到官网下载响应的资源 http://maven.apache.org/download.cgi 2.解压  tar -zxvf apache-maven-3.6.0-bin.tar.gz 可以将解压后的文件夹转移到自己所需要的目录下 解压完并重名名(当然也可以不重命名) 3.配置环境变量 编辑配置文件: vim /etc/profile 添加Maven的MAVEN_HOME地址: MAVEN_HOME=/home/software/maven (之前改过名称maven的安装路径) expo
分类: 其他 发布时间: 03-24 22:47 阅读次数: 0

Spring boot 中普通类型如何注入Service或mapper

最近遇到一个难题(大佬可能感觉这太简单了把),对于我这样的小白来说,确实有些头疼。 接下来说一下我遇到的问题,在spring boot中创建了一个UDP客户端,用于监听UDP服务端发送到数据。在实现这一功能时遇到主要遇到了两个难题 1.由于之前都是通过controller调用service层来实现访问,现在要建立一个持久的连接来实现监听某一端口的数据,由于做的项目不多,经验不足,spring也没怎么学过所以困扰了很久。只是在main方法中开启一个线程简单的new创建实例解决了该问题,虽然不知道
分类: 其他 发布时间: 03-24 22:47 阅读次数: 0

JavaEE——Hibernate(1)使用 入门案例

Hibernate的入门(Hibernate的环境搭建、Hibernate的API、Hibernate的CRUD) Hibernate的一级缓存、其他的API Hibernate的一对多配置、Hibernate的多对多的配置 Hibernate的查询方式、抓取策略 框架:指的是软件的半成品,已经完成了部分功能。 what? Hibernate? Hibernate:Hibernate是一个持久层的ORM框架。 ORM? 类-------》表(xml配置) ORM:Object Relation
分类: 其他 发布时间: 03-24 22:47 阅读次数: 0

Hibernate——(3)主键生成策略&持久化类的三种状态

一 持久化类 1.持久化:内存对象--->数据库(硬盘)Hibernate持久化的框架 持久化类:Java对象与数据库中的表建立映射关系 Hibernate就称为持久化类(Java类+映射文件) 2.编写规则: 二 主键生成策略 1.主键分类: 代理主键更合理 2.生成策略 测试: //测试主键生成策略 public class Demo { @Test //保存客户 public void fun1(){ //1 获得session Session session = Hi
分类: 其他 发布时间: 03-24 22:47 阅读次数: 0