1.后台运行设置 redis通过设置 daemonize yes来让redis作为一个守护进程运行 2.远程登陆 redis远程登陆需要做配置 3.关于bind bind属性配置了 Redis侦听来自服务器上所有可用网络接口的连接,例如我的电脑有两个网卡,两个ip,我再bind里配置了ip1,那么我再客户端链接redis的时候通过ip2去链接就链接不上,只能通过ip1去链接 4.关于protected-mode protected-mode默认为yes,需要配合bind一起使用,bind的值默认为127.0.0.1,开启这项配置的话,需要设置bind或密码 关闭配置的话,则不设置密码和bind都可以访问 有更新! redis后台运行,保护模式设置 程序人生
临界资源需要保持他的唯一性,再代码中,可以通过单例模式来实现(这里是典型的生产者/消费者问题) 构造方法中,用synchronized来做同步处理,为了避免每次进来都要给代码加锁影响性能,先在外层套if做判断 这里的connectionMap就是一个临界资源,代码初始化创建了8个数据库链接,放在map里面,然后多线程来获取调用这些connection 为了保证临界资源的安全,对获取链接和放回链接做了一个枷锁的处理,建立一个ReentrantLock锁,然后获取两个条件,获取连接的时候,判断是否有链接,有就继续,放回链接的时候,判断链接池是否已经满了,没满就放回 package cn.com.enersun.datahub.powerevent.consumer.database; import java.sql.Connection; import java.util.HashMap; import java.util.LinkedList; import java.util.Map; import java.util.concurrent.locks.Condition; impor.... 有更新! 多线程占用临界资源 程序人生
1、查看连接次数 show STATUS like 'Connections'; 2、查看mysql服务器的上线时间 show STATUS like 'Uptime'; 3、慢查询的次数 show STATUS like 'Slow_queries'; 4、查询操作的次数 show STATUS like 'Com_select'; 5、插入操作的次数 show STATUS like 'Com_insert'; 6、更新操作的次数 show STATUS like 'Com_update'; 7、更新操作的次数 show STATUS like 'Com_delete'; 有更新! mysql查询数据库性能参数 程序人生
1、示例 使用explain语句可以分析查询语句 eg:explain select * from org_user t1 left join org_relation t2 on t2.user_id_ = t1.id_ left join org_group t3 on t2.group_id_ = t3.id_ 这个语句会产生如下信息 再来一个使用union的sql eg: EXPLAIN SELECT * FROM ( ( SELECT * FROM org_relation LIMIT 11 ) UNION ( SELECT * FROM org_relation LIMIT 1 ) ) a 产生如下信息 2、结果分析 2.1、id id是select的查询序列号 2.2 、select_type select_type表示select语句的类型(dependent表示一个依赖关系,例如一个查询对子查询语句做了筛选操作,则子查询就依赖与外面的sql,子查询最终结果取决于外面的sql语句) simple表示一个不包含连接和子查询的查询 primary表示主查询(最外层的.... 有更新! mysql explain命令分析sql语句性能 程序人生
使用llike查询的时候,%在第一个位置,索引失效 or条件,索引并列,两个字段都是索引字段,才会生效 MySQL一个索引可以包含多个字段,对于多列索引,只有使用了这些字段中的第一个字段时,索引才会生效 后面遇到的再添加 有更新! mysql索引失效 程序人生
基本流程示意图 spring boot security默认的登录流程如下所示,弄懂登陆的流程,有助于我们后面扩展框架,解决遇到的问题 UsernamePasswordAuthenticationFilter过滤器过滤请求 调用ProviderManager认证 获取了authenticationManager处理登录,AuthenticationManager接口有多个实现类,默认调用了ProviderManager providerManager中管理了多个认证适配器,调用对应的适配器进行认证 进入DaoAuthenticationProvider进行认证 DaoAuthenticationProvider继承了AbstractUserDetailsAuthenticationProvider类,这个类又实现了AuthenticationProvider接口,这个接口中的supports方法就是上文用来匹配适配器的方法,继承这个接口,实现这个方法,就可以自定义适配器 调用InMemoryUserDetailsManager查询用户信息 DaoAuthentication.... 有更新! spring security认证流程 程序人生