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

php购物网站开发实例源码ps做的网站模板

php购物网站开发实例源码,ps做的网站模板,做类似360手赚那样的网站,宁波高端网站开发Redis 集群 Redis 事务 Redis 流水线 Redis 发布订阅 Redis 集群linux安装redis主从配置查看当前实例主从信息 Redis Sentinelsentinel Redis Cluster Redis 事务Redis 流水线Redis 发布订阅Redis Lua脚本操作 Redis 集群 linux安装redis 下载安装包#… Redis 集群 Redis 事务 Redis 流水线 Redis 发布订阅 Redis 集群linux安装redis主从配置查看当前实例主从信息 Redis Sentinelsentinel Redis Cluster Redis 事务Redis 流水线Redis 发布订阅Redis Lua脚本操作 Redis 集群 linux安装redis 下载安装包解压 tar -zxvf redis-xx.tar.gz编译安装 yum install gcc-c make make install # 打开后台运行 daemonize yes redis-server redis.conf redis-cli主从配置 查看当前实例主从信息 info replication可以直接在配置文件中指定永久 replicaof 主节点ip 主节点端口 masterauth 主节点密码直接在运行中的实例上通过命令行指定(临时) slaveof host port主节点宕机从节点晋升(手动选择主节点) slaveof no oneRedis Sentinel 在原有redis主从的基础上额外部署一套sentinel服务用于对现有集群的监控官方文档实现高可用 故障转移后恢复节点作为从节点存在。 sentinel port 26379 dir /tmp sentinel monitor myreplicas 127.0.0.1 6379 2 sentinel down-after-milliseconds myreplicas 30000 sentinel parallel-syncs myreplicas 1 sentinel failover-timeout myreplicas 180000 sentinel deny-scripts-reconfig yes daemonize yes可用两种方式启动 redis-sentinel /path/to/sentinel.confredis-server /path/to/sentinel.conf --sentinel 1.port 26379 sentinel监听端口默认是26379可以修改。 2.sentinel monitor sentinel monitor mymaster ip port 2 3.sentinel auth-pass Redis节点的认证密码如果有设置密码的话主节点需一致 sentinel auth-pass mymaster 123456 4.sentinel down-after-milliseconds Sentinel主观下线Redis节点超时时间 默认30s sentinel down-after-milliseconds mymaster 30000 5.sentinel parallel-syncs 并发同步新主节点个数同步时该节点不可用 sentinel parallel-syncs mymaster 1 sentinel failover-timeout failover-timeout 可以用在以下这些方面 1. 同一个sentinel对同一个master两次failover之间的间隔时间。2. 当一个slave从一个错误的master那里同步数据开始计算时间。直到slave被纠正为向正确的master那里同步数据时。3.当想要取消一个正在进行的failover所需要的时间。 4.当进行failover时配置所有slaves指向新的master所需的最大时间。不过即使过了这个超时slaves依然会被正确配置为指向master但是就不按parallel-syncs所配置的规则来了。配置示例 sentinel failover-timeout mymaster1 20000 7.sentinel的notification-script和reconfig-script是用来配置当某一事件发生时所需要执行的脚本可以通过脚本来通知管理员例如当系统运行不正常时发邮件通知相关人员。对于脚本的运行结果有以下规则 若脚本执行后返回1那么该脚本稍后将会被再次执行重复次数目前默认为10若脚本执行后返回2或者比2更高的一个返回值脚本将不会重复执行。如果脚本在执行过程中由于收到系统中断信号被终止了则同返回值为1时的行为相同。一个脚本的最大执行时间为60s如果超过这个时间脚本将会被一个SIGKILL信号终止之后重新执行。1).sentinel notification-script 通知型脚本:当sentinel有任何警告级别的事件发生时比如说redis实例的主观失效和客观失效等等将会去调用这个脚本这时这个脚本应该通过邮件SMS等方式去通知系统管理员关于系统不正常运行的信息。调用该脚本时将传给脚本两个参数一个是事件的类型一个是事件的描述。如果sentinel.conf配置文件中配置了这个脚本路径那么必须保证这个脚本存在于这个路径并且是可执行的否则sentinel无法正常启动成功。 配置示例 sentinel notification-script mymaster /var/redis/notify.sh 2).sentinel client-reconfig-script 当一个master由于failover而发生改变时这个脚本将会被调用通知相关的客户端关于master地址已经发生改变的信息。以下参数将会在调用脚本时传给脚本: master-name role state from-ip from-port to-ip to-port目前总是“failover”, 是“leader”或者“observer”中的一个。 参数 from-ip, from-port, to-ip, to-port是用来和旧的master和新的master(即旧的slave)通信的。这个脚本应该是通用的能被多次调用不是针对性的。 配置示例 sentinel client-reconfig-script mymaster /var/redis/reconfig.sh Redis Cluster Redis Cluster 是一个分布式的概念数据按一定规则分散在 16379 个槽点内 而 Redis Sentinel 则是依据 Sentinel 实现的高可用本质上还是集中式的存储只是提供了故障主从故障转移 每个节点单独启动 在任意节点执行 replicas 意味着每个主节点有几个从节点 这里为 3主3从 即每个主一个从 redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 –cluster-replicas 1 Redis 事务 Redis事务是对多条命令打包对涉及的键进行排他其他客户端连接的操作。 如果开启了指定键的监听只要其他客户端对该键进行了操作则本次事务的所有操作均不会提交。一个事务中只要不是命令本身有问题即使操作失败也不影响其他命令的执行。另外在事务中的命令由于是将命令加入队列中尚未执行所有在事务中是无法获取到相关操作后的数据的。 Testpublic void testRedisTransaction(){redisTemplate.opsForValue().set(key2, value2);List list (List)redisTemplate.execute((RedisOperations redisOperations) - {redisOperations.watch(key2);redisOperations.multi();redisOperations.opsForValue().set(key3, value3);redisOperations.opsForValue().increment(key2, 1);Object key3 redisOperations.opsForValue().get(key3);log.info(key3 {}, key3);redisOperations.opsForValue().set(key4, value4);Object key4 redisOperations.opsForValue().get(key4);log.info(key4 {}, key4);return redisOperations.exec();});log.info(list {}, list);}Redis 流水线 Redis流水线操作适用于同时执行多条命令的场景将所有命令一次性打包发送到服务器减少网络耗时提高整体性能与Redis事务类似命令也是先入队列所以提交之前命令不会生效此时获取不到执行后的数据 Testpublic void testPipeLine(){StopWatch stopWatch new StopWatch();stopWatch.start();redisTemplate.executePipelined((RedisOperations redisOperation) - {for(int i 1; i 100000; i){redisOperation.opsForValue().set(pipeline_i, value_ i);Object o redisOperation.opsForValue().get(pipeline_ i);if(i 100000){log.info(第 {}个数的值 {}, i, o);}}return null;});stopWatch.stop();log.info(耗时{}毫秒, stopWatch.getTotalTimeMillis());}Redis 发布订阅 Redis发布订阅 注意发送message 采用的是value 序列化器可能乱码需调整value序列化器可直接使用 stringRedisTemplate 省事 发布消息 Testpublic void testRedisPublishSubscribe(){ // log.info(testRedisPublishSubscribe...); // stringRedisTemplate.convertAndSend(你的topic, Hello Redis 你的 Message);redisTemplate.convertAndSend(你的topic, Hello Redis 你的 Message);}订阅消息 Component Slf4j public class RedisMessageListener implements MessageListener {Overridepublic void onMessage(Message message, byte[] pattern) {String body new String(message.getBody()); // String body new String(message.getBody(), Charset.forName(UTF-8));String channel new String(pattern, Charset.forName(UTF-8));log.info(监听渠道: {}, 消息: {}, channel, body);} }Redis Lua脚本操作 Redis 支持 以 lua 脚本操作 /*** IDEA 最好安装 EmmyLua 插件编写lua脚本更轻松* Redis Lua 脚本支持* 注意 lua脚本参数下标从1开始* 键KEYS[1]* 参数值 ARGV[1]* 两个序列化器第一个是指定方法入参的序列化器包括键和参数值第二个是Redis执行结果返回时的序列化器** lua基本语法* 拼接 ..* 如果是两个数字就是传的 3,5这样的 使用 依然会做加法而不是拼接** 基本脚本如下其他逻辑自行实现** local key1 KEYS[1]* local key2 KEYS[2]* local value1 ARGV[1]* local value2 ARGV[2]** redis.call(set, key1, value1)* redis.call(set, key2, value2)** local dbValue1 redis.call(get, key1)* local dbValue2 redis.call(get, key2)** return dbValue1 dbValue2*/Testpublic void testRedisLua(){RedisScriptLong script RedisScript.of(applicationContext.getResource(classpath:lua/redis.lua), Long.class);RedisSerializer stringSerializer redisTemplate.getStringSerializer();ListString keys new ArrayList();keys.add(key1);keys.add(key2);String[] values new String[]{3, 5};Object result redisTemplate.execute(script, stringSerializer, stringSerializer, keys, values);System.out.println(result);}
http://wiki.neutronadmin.com/news/314163/

相关文章:

  • 安阳网站建设设计个人微信小店怎么开通
  • 手机微网站怎么制作的线上名片制作
  • 自己做的网站显示不安全怎么回事平度推广网站建设
  • 成都网站设计与制作网站域名查询官网
  • 中小企业服务中心网站建设加工平台网站
  • 一台电脑如何做网站广州骏域网站建设专家 V
  • 公司建站系统template是什么意思
  • 个人网站做哪种类型网站蜘蛛来访记录
  • 手机网站设计图尺寸做农家乐网站
  • 青岛一品网站建设青岛网络优化费用
  • 凡科建站快车官网无锡网站优化公司
  • dnf制裁做任务网站哈尔滨网站建设优化
  • 怎么做网站的动效网站建设设计风格如何与色彩搭配
  • 怎样注册网站帐号申请自己的服务器如何做网站
  • 苏州淘宝网站建设徐州网站建设大前端
  • 淄博知名的做网站推广河北核酸检测
  • 做网站软件图标是一个箭头的合肥三只羊网络科技有限公司
  • php网站怎么做自适应淮南政务
  • 什么是网络营销?网络营销与传统营销相比有哪些特点?大连百度推广优化
  • 建设网站技术标准去除wordpress rss图标
  • 新闻发布网站如果做wordpress oa插件下载
  • ie常用网站设置设计素材网站无版权
  • 上海php做网站莱州网页设计公司
  • python做网站实例网页设计作品要求
  • 廊坊哪里有做网站的音乐网站建设报告
  • 长沙专业网站制作设计wordpress 点击量
  • 怎么推广网站链接嵌入式工程师是干嘛的
  • 广州建站商城WordPress话题插件
  • 飞行时代网站建设广告设计公司投标书范文
  • 教育行业网站建设方案wordpress取消邮件验证