sjz住房建设局网站,网站后台管理系统使用方法,品牌微信网站开发,南宁营销网站建设目录
一.MySQL数据库优化
二.Redis优化
三.MySQL创建测试账号报错 一.MySQL数据库优化
遵循MySQL层优化的五个原则: 减少数据访问#xff0c;返回更少的数据#xff0c;减少交互次数减少服务器CPU开销#xff0c;利用更多资源。理解SQL优化原理并进行SQL优化#xff0c…目录
一.MySQL数据库优化
二.Redis优化
三.MySQL创建测试账号报错 一.MySQL数据库优化
遵循MySQL层优化的五个原则: 减少数据访问返回更少的数据减少交互次数减少服务器CPU开销利用更多资源。理解SQL优化原理并进行SQL优化例如避免不走索引的场景最大化利用索引尽可能避免全表扫描减少无效数据的查询等。事务日志性能优化双一设置是innodb_flush_log_at_trx_commit和sync_binlog两个参数设置都设置为1就是双1设置。MySQL 默认配置就是双1配置。优化MySQL所在服务器内核。优化数据库参数以提高资源利用率从而提高MySQL服务器性能。此优化需要进行压力测试来进行参数调整MySQL服务的配置参数都在my.cnf或myini中其中一些性能影响较大的参数包括query_cache_size和query_cache_type等MySQL参数优化 MySQL 默认的最大连接数为 100可以在 mysql 客户端使用以下命令查看 mysql show variables like max_connections;查看当前访问Mysql的线程 mysql show processlist;设置最大连接数 mysqlset globle max_connections 5000;最大可设置16384,超过没用查看当前被使用的connections mysqlshow globle status like max_user_connections 对MySQL语句性能优化的16条经验
为查询缓存优化查询EXPLAIN 我们的SELECT查询(可以查看执行的行数)当只要一行数据时使用LIMIT 1为搜索字段建立索引在Join表的时候使用相当类型的列并将其索引千万不要 ORDER BY RAND ()避免SELECT *永远为每张表设置一个ID可以使用ENUM 而不要VARCHAR尽可能的使用NOT NULL固定长度的表会更快垂直分割拆分打的DELETE或INSERT语句越小的列会越快选择正确的存储引擎小心 永久链接
二.Redis优化
1.避免使用命令keys *这个命令是阻塞的即操作执行期间其它任何命令在你的实例中都无法执行。当redis中key数据量小时到无所谓数据量大就很糟糕了。所以我们应该避免去使用这个命令。可以去使用SCAN,来代替。
2.数据压缩后再存入redisredis为每种数据类型都提供了两种内部编码方式在不同的情况下redis会自动调整合适的编码方式。
3.设置key的有效期我们应该尽可能的利用key有效期。比如一些临时数据短信校验码过了有效期Redis就会自动为你清除
4.选择回收策略(maxmemory-policy)当Redis的实例空间被填满了之后将会尝试回收一部分key。根据你的使用方式强烈建议使用 volatile-lru默认 策略——前提是你对key已经设置了超时。但如果你运行的是一些类似于 cache 的东西并且没有对 key 设置超时机制可以考虑使用 allkeys-lru 回收机制具体讲解查看 。maxmemory-samples 3 是说每次进行淘汰的时候 会随机抽取3个key 从里面淘汰最不经常使用的默认选项。 1 2 3 4 5 6 7 maxmemory-policy 六种方式 : volatile-lru只对设置了过期时间的key进行LRU默认值 allkeys-lru 是从所有key里 删除 不经常使用的key volatile-random随机删除即将过期key allkeys-random随机删除 volatile-ttl 删除即将过期的 noeviction 永不过期返回错误
5.使用bit位级别操作和byte字节级别操作来减少不必要的内存使用 1 2 bit位级别操作GETRANGE, SETRANGE, GETBIT and SETBIT byte字节级别操作GETRANGE and SETRANGE
6.当业务场景不需要数据持久化时关闭所有的持久化方式可以获得最佳的性能数据持久化时需要在持久化和延迟/性能之间做相应的权衡
7.想要一次添加多条数据的时候可以使用管道
8.限制redis的内存大小64位系统不限制内存32位系统默认最多使用3GB内存 数据量不可预估并且内存也有限的话尽量限制下redis使用的内存大小这样可以避免redis使用swap分区或者出现OOM错误。使用swap分区性能较低如果限制了内存当到达指定内存之后就不能添加数据了否则会报OOM错误。可以设置maxmemory-policy内存不足时删除数据
9.尽可能使用哈希存储
10.使用lazy free特性: lazy free是Redis 4.0新增的一个功能它可以理解为惰性删除或延迟删除。意思是在删除时提供异步延时释放键值的功能把键值释放操作放在BIO(BackgroundI/0)单独的子线程处理中以减少删除对Redis主线程的阻塞。
三.MySQL创建测试账号报错
报错信息 因为数据库版本不一致在还原过后忘记升级数据库(还原后没有使用 mysql_upgrade升级数据结构)。其实从错误信息也能看出需要执行 mysql_upgrade命令检查所有数据库中的所有表与当前版本的 MySQL服务器是否不兼容。 mysql_upgrade还会升级系统表以便你可以使用一些新特性或功能。
解决方法
mysql_upgrade -u root -p 随后登入数据库正常创建用户即可