当前位置: 首页 > news >正文

网站建设百度不通过wordpress当前位置

网站建设百度不通过,wordpress当前位置,o2o新零售系统,网页设计图片怎么占满相应位置Redis数据库测试实验 实验要求 1.新建一张user表#xff0c;在表内插入10000条数据。 2.①通过jdbc查询这10000条数据#xff0c;记录查询时间。 ②通过redis查询这10000条数据#xff0c;记录查询时间。 3.①再次查询这一万条数据#xff0c;要求根据年龄进行排序#…Redis数据库测试实验 实验要求 1.新建一张user表在表内插入10000条数据。 2.①通过jdbc查询这10000条数据记录查询时间。   ②通过redis查询这10000条数据记录查询时间。 3.①再次查询这一万条数据要求根据年龄进行排序mysql和redis各实现一次。 4.上面排序后的前5人可进行抽奖每人有一次抽奖机会抽奖奖品随意设计抽奖方式通过redis实现。 1.基本准备 先下载好jar包 在根目录下新建lib文件夹并将两个jar包移动到lib文件夹中 在IDEA中右键点击lib选择“添加为库” 两个jar包显示可展开即为成功。 2.mysql建立用户表user CREATE TABLE user (id int primary key AUTO_INCREMENT,name varchar(10) COMMENT 姓名,age int COMMENT 年龄 ) ; 3.为mysql和redis添加数据 1获取数据库连接并为mysql添加数据 //获取数据库连接public Connection getConnection() {System.out.println(获取数据库连接);String url jdbc:mysql://localhost:3306/homework;String username root;String password 123456;Connection conn null;try {conn DriverManager.getConnection(url, username, password);} catch (SQLException e) {e.printStackTrace();}return conn;} //mysql添加数据public void addMysql() {System.out.println(mysql添加数据);Connection conn null;PreparedStatement ps null;conn getConnection();try {Random random new Random();for (int i 0; i 10000; i) {String name Name i;int age random.nextInt(100) 1;ps conn.prepareStatement(INSERT INTO user (name,age) VALUES (?,?));ps.setString(1, name);ps.setInt(2, age);ps.executeUpdate();}} catch (SQLException e) {e.printStackTrace();} finally {try {ps.close();conn.close();} catch (SQLException e) {throw new RuntimeException(e);}}} 2将Mysql数据转储到redis中 // 将Mysql数据库数据转储到Redispublic void addRedis() {System.out.println(redis添加数据);Connection conn null;PreparedStatement ps null;ResultSet rs null;conn getConnection();try {ps conn.prepareStatement(select * from user);rs ps.executeQuery();Jedis jedis new Jedis(localhost, 6379);while (rs.next()) {String id String.valueOf(rs.getInt(id));String name rs.getString(name);int age rs.getInt(age);// 使用有序集合存储学生ID和年龄以便进行排序jedis.zadd(UserByAge, age, id);// 存储学生数据jedis.hset(user: id, name, name);jedis.hset(user: id, age, String.valueOf(age));}jedis.close();} catch (SQLException e) {e.printStackTrace();} finally {try {rs.close();ps.close();conn.close();} catch (SQLException e) {throw new RuntimeException(e);}}} 4.实现mysql和redis查询并比较查询时间 1mysql查询 //mysql查询public void queryDataWithJDBC() {Connection conn null;PreparedStatement ps null;ResultSet rs null;conn getConnection();try {ps conn.prepareStatement(select * from user);rs ps.executeQuery();while (rs.next()) { // System.out.println(ID: rs.getInt(id) , Name: rs.getString(name) , Age: rs.getInt(age));}} catch (SQLException e) {e.printStackTrace();} finally {try {rs.close();ps.close();conn.close();} catch (SQLException e) {throw new RuntimeException(e);}}} 2redis查询 //redis查询public void queryDataWithRedis() {Jedis jedis new Jedis(localhost, 6379);SetString keys jedis.keys(user:*);for (String key : keys) {MapString, String user jedis.hgetAll(key); // System.out.println(Key: key , Value: user);}jedis.close();} 3记录并比较查询时间 // 比较查询时间public void compareTime() {// 通过jdbc查询这10000条数据记录查询时间long start System.currentTimeMillis();queryDataWithJDBC();long end System.currentTimeMillis();System.out.println(JDBC查询时间: (end - start) ms);// 通过redis查询这10000条数据记录查询时间start System.currentTimeMillis();queryDataWithRedis();end System.currentTimeMillis();System.out.println(Redis查询时间: (end - start) ms);} 5.根据年龄进行排序 1mysql排序 //mysql实现排序public void queryAndSortDataWithJDBC() {Connection conn null;PreparedStatement ps null;ResultSet rs null;conn getConnection();try {ps conn.prepareStatement(SELECT * FROM user ORDER BY age);rs ps.executeQuery();System.out.println(mysql实现排序);while (rs.next()) {System.out.println(ID: rs.getInt(id) , Name: rs.getString(name) , Age: rs.getInt(age));}} catch (SQLException e) {e.printStackTrace();} finally {try {rs.close();ps.close();conn.close();} catch (SQLException e) {throw new RuntimeException(e);}}} 2redis排序 //redis实现排序public void queryAndSortDataWithRedis() {Jedis jedis new Jedis(localhost, 6379);ListTuple users jedis.zrangeWithScores(UserByAge, 0, -1);System.out.println(redis实现排序);for (Tuple user : users) {String id user.getElement();double age user.getScore();String name jedis.hget(user: id, name);System.out.println(ID: id , Name: name , Age: (int) age);}jedis.close();} 6.抽奖功能 //抽奖public void lottery() {Jedis jedis new Jedis(localhost, 6379);// 添加奖品String[] prizes {锅, 碗, 瓢, 盆, 金元宝};for (String prize : prizes) {jedis.sadd(prizes, prize);}// 年龄最小的前5人System.out.println(年龄最小的前5人);ListTuple youngestUsers jedis.zrangeWithScores(UserByAge, 0, 4);for (Tuple user : youngestUsers) {String id user.getElement();double age user.getScore();String name jedis.hget(user: id, name);String prize jedis.srandmember(prizes);System.out.println(恭喜 name 获得了抽奖机会奖品是 prize);}jedis.close();} 7.主函数 public static void main(String[] args) throws SQLException {JedisHomework jedisHomework new JedisHomework();jedisHomework.addMysql();jedisHomework.addRedis();jedisHomework.compareTime();jedisHomework.queryAndSortDataWithJDBC();jedisHomework.queryAndSortDataWithRedis();jedisHomework.lottery();} Redis中的缓存穿透、雪崩、击穿的原因以及解决方案 1.缓存击穿 1产生原因 在高并发访问下某个热点key在缓存中过期后大量并发请求同时查询数据库导致数据库压力激增的现象。 2解决方案 合理的过期时间将热点数据设置为永远不过期 使用互斥锁基于redis or zookeeper实现互斥锁等待第一个请求构建完缓存之后再释放锁进而其他请求才能通过该key访问数据。 2.缓存雪崩 1产生原因 由于缓存服务器在同一时间大面积失效或宕机导致大量请求直接打到数据库瞬间引发数据库压力激增甚至导致数据库崩溃。 2解决方案 事前redis 高可用主从哨兵redus cluster避免全盘崩溃 事中本地缓存 hystrix 限流降级避免 MySQL被打死。同时设置合理的过期时间。 事后redis持久化一旦重启自动从磁盘上加载数据快速回复缓存数据。 3.缓存穿透 1产生原因 查询一个一定不存在的数据由于缓存是不命中时需要从数据库查询查不到数据则不写入缓存这将导致这个不存在的数据每次请求都要到数据库去查询进而给数据库带来压力。 缓存穿透很有可能是黑客攻击所为黑客通过发送大量的高并发的无法响应的请求给服务器由于请求的资源根本就不存在DB数据库就很容易被打垮了。 2解决方案 缓存空对象对查询结果为空的情况也将其缓存起来并设置合理的过期时间。 参数校验在接收到请求之前进行参数校验判断请求参数是否合法。 布隆过滤器判断请求的参数是否存在于缓存或数据库中。 4.三者的异同 相同点大量的请求在redis上得不到响应那么就会导致这些请求会直接去访问DB导致DB的压力瞬间变大而卡死或者宕机。 不同点缓存击穿是某个热点过期后导致大量请求访问DB 缓存雪崩是多个key过期后导致大量请求访问DB 缓存穿透是不存在的key收到大量请求每次请求都要到DB查询。
http://www.w-s-a.com/news/761746/

相关文章:

  • 高端品牌网站建设图片wordpress 资源站主题
  • 上海建设工程监督总站网站电商网站wordpress
  • 网站建设 医院菏泽网站建设熊掌号
  • 成都网站建设企业预约网免费建站流程
  • 网站建设胶州中国政务网站建设绩效评估
  • 合肥知名网站推广胶东国际机场建设有限公司网站
  • asp.ney旅游信息网站下载 简洁濮阳微信网站开发
  • 建设网站专业怎么上传网站程序到空间
  • 县城乡建设局网站微商城小程序哪个好
  • 博物馆门户网站建设优势重庆seo排名系统运营
  • 哪有app制作公司上海seo排名
  • 长沙建站seo公司北京招聘信息
  • 建设网站情况说明范文四川个人证书查询网官网
  • 推广学校网站怎么做公司可以做多个网站吗
  • 游戏网站后台建设郑州定制网站
  • 商务公司网站建设网站建设如何自学
  • 现在建网站可以拖拉式的吗中国国内最新新闻
  • phpstorm网站开发产品logo设计
  • 电子商务网站建设与运营什么是单页面网站
  • 西安优化网站公司南阳微信网站
  • 购物网站线下推广方案佛山快速建站哪家服务专业
  • 临沂网站排名外贸网站推广方法之一
  • 手机网站百度关键词排名查询吕梁网站制作吕梁安全
  • 做网站媒体wordpress管理员账号数据库添加
  • php如何自己做网站wordpress怎么修改编辑代码
  • 网站建网站建设公司WordPress互联
  • 泊头市网站建设价格wordpress导航菜单位置
  • 怎么设立网站赚广告费网页制作素材模板图片
  • 做班级网站的目的网站设计制作公司需要什么资质
  • 济南做网站哪家好财政网站平台建设不足