2016-7-8月的一些计划
来源:互联网 发布:我眼中的网络写作 编辑:程序博客网 时间:2024/05/16 01:05
很久没有打理博客了,现在还是要回到初心,重拾昔日的求知心态。计划尽量完成每个月的计划和分享一些当月的学习进展。
计划大概是:
- 了解redis和zoonkeeper的基本使用,实现分布式锁的场景
- 学习hive,写几个示例熟悉下数据的导入、导出和计划。
- Spark列入9月份的计划。
一、使用redis使用分布式锁,2种方案
方案1:
1. setnx命令设置key, lockvalue
2. 使用expire设置key的过期时间
3. 作业执行完成delete key
方案2 :
1. setnx命令设置key,val(当前时间+超时时间),如设置失败转向第2步
2. getkey的val,比较系统当前时间和超时时间,判断是否过期。是,转向3。
3. getset命令设置值,判断get值是否和getset的返回值是否相等,从而判断是否获得分布式锁。
4. 获得锁后,执行作业,如作业处理时间未超时,删除key。否则,跳过。
二、频道和订阅
SUBSCRIBE 、 UNSUBSCRIBE 和 PUBLISH 三个命令实现了发布与订阅信息泛型(Publish/Subscribe messaging paradigm), 在这个实现中, 发送者(发送信息的客户端)不是将信息直接发送给特定的接收者(接收信息的客户端), 而是将信息发送给频道(channel), 然后由频道将信息转发给所有对这个频道感兴趣的订阅者.
语法:
发布频道: publish channel msg
订阅: Subscribe channel msg
模式订阅: PSUBSCRIBE
取消订单: UNSUBSCRIBE
三、持久化
RDF: 使用快照技术保存某个时间点的redis所有数据,优点是数据紧凑、恢复速度快,缺点时无法完全避免服务器故障而引起的数据丢失。
AOF: 一个只进行追加操作的日志文件,以 Redis 协议的格式保存。缺点是体积大、恢复慢
四、事务
涉及的命令有: MULTI 、 EXEC 、 DISCARD 和 WATCH。 multi用户开启一个事务,exec用于执行事务队列中的命令,discard用户清空事务队列。WATCH 命令可以为 Redis 事务提供 check-and-set (CAS)行为,被 WATCH 的键会被监视,并会发觉这些键是否被改动过了。 如果有至少一个被监视的键在 EXEC 执行之前被修改了, 那么整个事务都会被取消, EXEC 返回空多条批量回复(null multi-bulk reply)来表示事务已经失败。
- 2016-7-8月的一些计划
- 2016之9,10月的一些总结和计划
- 2016-8月-魔鬼计划
- 7月28到8月底的计划
- 8月开发计划
- 计划 8月26
- 7月计划
- 7月任务计划
- 最近的一些计划
- 最近的一些计划
- 后两个月的计划
- 11月的剩余计划
- 未来一个月的计划
- 20120731月总结暨8月计划
- 2009年6月-7月计划
- 2016年5月计划
- 8-10月阅读计划
- 7月6日计划
- 【腾讯bugly干货分享】微信Android热补丁实践演进之路
- PLSQL
- 查看表空间是否可扩展
- LeetCode - 162. Find Peak Element
- JavaScript 学习篇(1)
- 2016-7-8月的一些计划
- socket简单使用
- Java反射及其应用
- 【大数分解工具】msieve 的下载及使用
- Spring mvc+Spring+Mybatis整合
- Round Numbers
- Java数据类型转换
- Android开发-来电监听-步骤方法
- pthread_rwlock读写锁的使用细节