数据库
数据库的使用
THanHan
一位来自太原市的码农。
展开
-
springboot项目shiro整合ehcache缓存
EHCache是sourceforge的开源缓存项目,现在已经具有独立的官网。其本身是纯Java实现的,所以和绝大多数的java项目无缝整合,例如Hibernate的缓存就是基于EHCache而实现的。EHCache支持内存和磁盘的缓存,默认是储存在内存当中,当内存不够是允许把缓存数据同步到磁盘当中,所以不需要担心内存不够的问题。EHCache直接在jvm虚拟机中缓存,速度快,效率高;但缓存共享麻烦集群分布式应用不方便。EHCache API 演示1.引入依赖 <shiro-e原创 2021-03-29 17:20:44 · 2231 阅读 · 3 评论 -
shiro的两种最常用的注解
1.RequiresRoles例如管理员,员工,访客等@RequiresRoles("admin")void delete();如果subject中有admin角色,才可以访问delete方法如果没有角色则报错AuthorizationException2.RequiresPermissions@RequiresPermissions("user:delete")void delete();如果subject中有delete权限,才可以访问delete方法如果没有权限则报错。...原创 2021-03-29 11:43:46 · 776 阅读 · 0 评论 -
sql模糊查询like
问:下面哪个语句查询快?select * from table where name like '%T';select * from table where name like 'T%';原创 2020-08-28 16:34:06 · 287 阅读 · 0 评论 -
linux上elasticsearch集群搭建
准备三台虚拟机修改主机映射:vi/etc/hosts192.168.***.*** 主机名es启动时需要使用非root用户,所有创建一个用户注:(***)为你定义的用户名字useradd ***;为新创建的用户添加密码echo *** | passwd --stdin ***为新创建的用户添加用户权限注:需用root用户来进行操作echo "*** ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/***/etc/sudoers的权限原创 2020-06-22 13:05:09 · 361 阅读 · 0 评论 -
实现mysql主从复制
一,主从服务器分别执行一下操作版本一致初始化表,并在后台启动Mysql修改root密码二,修改主服务器master:vi /etc/my.cnf [mysqld] log-bin=mysql-bin //[必须]启用二进制日志 server-id=*** //[必须]服务器唯一ID,默认是1,一般取IP最后一段三,修改从服务器slavevi /etc/my.cnf [mysqld] log-bin=mysql-bin //[必须]启用二进制日志 server-id=*** //[必须]服务原创 2020-06-04 19:49:01 · 232 阅读 · 0 评论 -
CentOs7下安装Mysql
1.下载YUM库(下载本地在传输到虚拟机)wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm12.安装YUM库rpm -ivh mysql57-community-release-el7-10.noarch.rpm13.安装数据库yum -y install mysql-community-server14.完成安装,重启mysqlsystemctl restart mysqld1此时M转载 2020-06-03 15:42:32 · 222 阅读 · 0 评论 -
Linux部署Redis
Redis部署到Linux1、安装单机版redis操作: 1.使用xftp将压缩包引入到Linux的opt目录里 2.解压到/usr/local/目录下(tar -zxvf redis-** -C(大写) /usr/local/) 3.在opt目录 下载C语言库 wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz 4.解压C语言库 tar -xzvf tcl8.6.1原创 2020-06-03 11:20:41 · 301 阅读 · 0 评论 -
redis缓存击穿,缓存穿透和缓存雪崩解决方案
一、缓存击穿1.什么是缓存击穿缓存击穿也就是说当redis缓存中有一个key是大量请求同时访问的热点数据,如果突然这个key时间到了,那么大量的请求在缓存中获取不到该key,穿过缓存直接来到数据库导致数据库崩溃,这样因为单个key失效而穿过缓存到数据库称为缓存击穿。2.怎么办,怎么解决最简单粗暴的解决方案就是让热点key不设置过期时间,即key一直存在于缓存中,更新时直接覆盖即可。设置定时任务检测要过期的key,然后在将要过期的时候重新从数据库把数据刷新到缓存中,这样的方式增加系统复杂度,并且原创 2020-08-27 11:47:35 · 1896 阅读 · 0 评论 -
Java.sql.SQLException: 无效的列索引其实是个低级的错误
java.sql.SQLException: 无效的列索引其实是个低级的错误,原因无非几个:1、sql串的?号数目和提供的变量数目不一致:例如:jdbcTemplate.update(sql, new Object[] {newState,oldState})如果sql里面有1个?号,Object[]送了2个,就会报错。2、sql串里的?号书写不正确英文?和中文?有时难以区分。3、sql串的?号用’'括了起来。例如:sql="UPDATE abc SET abc.name='?'原创 2020-08-27 15:44:12 · 289 阅读 · 0 评论 -
redis的俩种持久化机制AOF&RDB
什么叫持久化?将数据(如内存中的对象)保存到可永久保存的存储设备中。持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、 XML 数据文件中等等。Redis 为什么要持久化?Redis 中的数据类型都支持 push/pop、add/remove 及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,Redis 支持各种不同方式的排序。与 Memcached 一样,为了保证效率,数据都是缓存在内存中。 对,数据都是缓存在内存中的,当你重启系统或者关闭系统后,缓存在内存原创 2020-08-27 16:26:26 · 220 阅读 · 0 评论