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

什么网站做博客好如何做表白网站的教程

什么网站做博客好,如何做表白网站的教程,网站建设在未来的发展趋势,网站开分站一、开启binlog日志 1.首先查看是否开启了binlog show variables like %log_bin%; 如果是OFF说明位开启 2、开启binlog日志#xff0c;并重启mysql服务 右键我的电脑——管理——服务——MYSQL——属性 这里是my.ini地址 在[mysqld]底下添加 log-bin mysqlbinlog binlog-f…一、开启binlog日志 1.首先查看是否开启了binlog show variables like %log_bin%; 如果是OFF说明位开启 2、开启binlog日志并重启mysql服务 右键我的电脑——管理——服务——MYSQL——属性 这里是my.ini地址 在[mysqld]底下添加 log-bin mysqlbinlog binlog-formatROW 配置好之后要进行重启mysql服务 查看状态  show variables like %log_bin%; 开启成功  二、授权 canal 链接 MySQL 账号具有作为 MySQL slave 的权限 CREATE USER canal IDENTIFIED BY canal;   GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO canal%; -- GRANT ALL PRIVILEGES ON *.* TO canal% ; FLUSH PRIVILEGES; 三、下载配置canal 1、下载 canal, 访问 release 页面 , 选择需要的包下载, 如以 1.0.17 版本为例 解压后 2、 修改conf\example文件夹下instance.properties配置文件 最终配置文件 ################################################# ## mysql serverId , v1.0.26 will autoGen # canal.instance.mysql.slaveId0 # enable gtid use true/false canal.instance.gtidonfalse # position info canal.instance.master.address127.0.0.1:3306 canal.instance.master.journal.name canal.instance.master.position canal.instance.master.timestamp canal.instance.master.gtid # rds oss binlog canal.instance.rds.accesskey canal.instance.rds.secretkey canal.instance.rds.instanceId # table meta tsdb info canal.instance.tsdb.enabletrue #canal.instance.tsdb.urljdbc:mysql://127.0.0.1:3306/canal_tsdb #canal.instance.tsdb.dbUsernamecanal #canal.instance.tsdb.dbPasswordcanal #canal.instance.standby.address #canal.instance.standby.journal.name #canal.instance.standby.position #canal.instance.standby.timestamp #canal.instance.standby.gtid # username/password canal.instance.dbUsernameroot canal.instance.dbPasswordmsir1234 canal.instance.connectionCharset UTF-8 # enable druid Decrypt database password canal.instance.enableDruidfalse #canal.instance.pwdPublicKeyMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALK4BUxdDltRRE5/zXpVEVPUgunvscYFtEip3pmLlhrWpacX7y7GCMo2/JM6LeHmiiNdH1FWgGCpUfircSwlWKUCAwEAAQ # table regex canal.instance.filter.regex.*\\..* # table black regex canal.instance.filter.black.regexmysql\\.slave_.* # table field filter(format: schema1.tableName1:field1/field2,schema2.tableName2:field1/field2) #canal.instance.filter.fieldtest1.t_product:id/subject/keywords,test2.t_company:id/name/contact/ch # table field black filter(format: schema1.tableName1:field1/field2,schema2.tableName2:field1/field2) #canal.instance.filter.black.fieldtest1.t_product:subject/product_image,test2.t_company:id/name/contact/ch # mq config canal.mq.topicexample # dynamic topic route by schema or table regex #canal.mq.dynamicTopicmytest1.user,topic2:mytest2\\..*,.*\\..* canal.mq.partition0 # hash partition config #canal.mq.enableDynamicQueuePartitionfalse #canal.mq.partitionsNum3 #canal.mq.dynamicTopicPartitionNumtest.*:4,mycanal:6 #canal.mq.partitionHashtest.table:id^name,.*\\..* ################################################# 3、启动canal服务windows下是batlinux是sh 点击startup.bat启动 查看日志 logs\canal\canal.log如果启动成功则如下图 4、基于Canal通知原理 解读 商品服务完成商品修改后业务直接结束没有任何代码侵入Canal监听MySQL数据库的变化当发现变化后立即通知缓存服务。缓存服务接收到canal通知更新缓存 5、项目集成 5.1、pom依赖 使用GitHub上的第三方开源的canal-starter客户端。地址https://github.com/NormanGyllenhaal/canal-client dependency         groupIdtop.javatool/groupId         artifactIdcanal-spring-boot-starter/artifactId         version1.2.1-RELEASE/version /dependency 5.2、编写依赖 canal:   destination: heima # canal的集群名字要与安装canal时设置的名称一致   server: 192.168.150.101:11111 # canal服务地址   5.3、修改Item实体类 Canal推送给canal-client的是被修改的这一行数据row而我们引入的canal-client则会帮我们把行数据封装到Item实体类中。这个过程需要知道数据库与实体的映射关系。需要用到JPA的注解 通过Id、Column、等注解完成Item与数据库表字段的映射 package com.heima.item.pojo;import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Transient;import javax.persistence.Column; import java.util.Date;Data TableName(tb_item) public class Item {TableId(type IdType.AUTO)Idprivate Long id;//商品idColumn(name name)private String name;//商品名称private String title;//商品标题private Long price;//价格分private String image;//商品图片private String category;//分类名称private String brand;//品牌名称private String spec;//规格private Integer status;//商品状态 1-正常2-下架private Date createTime;//创建时间private Date updateTime;//更新时间TableField(exist false)Transientprivate Integer stock;TableField(exist false)Transientprivate Integer sold; }5.4、编写监听器Redis/ jvm缓存同步  通过实现EntryHandlerT接口编写监听器监听Canal消息。注意两点 实现类通过CanalTable(tb_item)指定监听的表信息。EntryHandler的泛型是与表对应的实体类 package com.heima.item.canal;import com.github.benmanes.caffeine.cache.Cache; import com.heima.item.config.RedisHandler; import com.heima.item.pojo.Item; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import top.javatool.canal.client.annotation.CanalTable; import top.javatool.canal.client.handler.EntryHandler;CanalTable(tb_item) Component public class ItemHandler implements EntryHandlerItem { // 表中数据发生变化时就会把变化的那一行数据封装成Item实体传递到下面的三个方法Autowiredprivate RedisHandler redisHandler;Autowiredprivate CacheLong, Item itemCache;Overridepublic void insert(Item item) {// 写数据到JVM进程缓存itemCache.put(item.getId(), item);// 写数据到redisredisHandler.saveItem(item);}Overridepublic void update(Item before, Item after) {// 写数据到JVM进程缓存itemCache.put(after.getId(), after);// 写数据到redisredisHandler.saveItem(after);}Overridepublic void delete(Item item) {// 删除数据到JVM进程缓存itemCache.invalidate(item.getId());// 删除数据到redisredisHandler.deleteItemById(item.getId());} }在这里对Redis的操作都封装到了RedisHandler这个对象中是我们之前做缓存预热时编写的一个类内容如下 package com.heima.item.config;import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.heima.item.pojo.Item; import com.heima.item.pojo.ItemStock; import com.heima.item.service.IItemService; import com.heima.item.service.IItemStockService; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Component;import java.util.List;Component public class RedisHandler implements InitializingBean {Autowiredprivate StringRedisTemplate redisTemplate;Autowiredprivate IItemService itemService;Autowiredprivate IItemStockService stockService;private static final ObjectMapper MAPPER new ObjectMapper();Overridepublic void afterPropertiesSet() throws Exception {// 初始化缓存// 1.查询商品信息ListItem itemList itemService.list();// 2.放入缓存for (Item item : itemList) {// 2.1.item序列化为JSONString json MAPPER.writeValueAsString(item);// 2.2.存入redisredisTemplate.opsForValue().set(item:id: item.getId(), json);}// 3.查询商品库存信息ListItemStock stockList stockService.list();// 4.放入缓存for (ItemStock stock : stockList) {// 2.1.item序列化为JSONString json MAPPER.writeValueAsString(stock);// 2.2.存入redisredisTemplate.opsForValue().set(item:stock:id: stock.getId(), json);}}public void saveItem(Item item) {try {String json MAPPER.writeValueAsString(item);redisTemplate.opsForValue().set(item:id: item.getId(), json);} catch (JsonProcessingException e) {throw new RuntimeException(e);}}public void deleteItemById(Long id) {redisTemplate.delete(item:id: id);} }5.5、测试 查看控制台说明java以及和canal建立了连接。 当修改了数据库的内容后reids和Tomcat缓存都会发生变化。
http://www.huolong8.cn/news/100109/

相关文章:

  • 网站的栏目是什么网站搜索不到公司网站
  • 安庆集团网站建设格尔木哪里有做网站的
  • 浙江外贸网站建设网站开发设计图片
  • 网站建设推广资讯怎么利用百度云盘做网站
  • 做网站用户充值提现wordpress插件恢复图片
  • 哪个网站做logo设计师wordpress保护后台登录
  • 新网站备案加工平台苏州纳米所
  • 南昌企业网站制作在线编辑软件
  • 湖北建设网站首页天水做网站的
  • 男直接做的视频网站html5制作手机端页面
  • 白云手机网站建设电脑网页制作软件下载
  • 外贸网站建设 评价平台网站建设开票开什么内容
  • 网站建设空间主机的选择效果图工作室
  • 湛江市建设交易中心网站深圳市龙华区地图
  • 百度网站优化外包要如何自己创建一个网站
  • 明星做代言的购物网站0北京网站建设管庄
  • 网络建站免费网址仙游县住房和城乡建设局网站
  • wordpress做视频网站吗免费单页网站建设
  • 伪静态网站配置工信网站投诉系统
  • 多少网站域名采用中文seo关键词排名怎么优化
  • 诸暨有哪些好网站制作公司济宁网站优化公司
  • 西安做网站公硬件开发
  • wordpress多站点支付插件wordpress缩略图不显示
  • 网站自助建站网站收录服务
  • 万维网的网站订阅号怎么做免费的视频网站
  • 免费做网站的问题怎么给做的网站做百度搜索
  • 好看的网站设计公司wordpress 图片本地化
  • 建站推广什么意思wordpress 短信接口
  • 邯郸老区建设网站wordpress 关闭网站
  • 郑州哪里培训网站建设优化好一点西安活动公司