Redis 数据结构

2017年4月25日 没有评论

博主只是想和大家分享自己Redis学习的心得
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

String(字符串)

string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。
string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
string类型是Redis最基本的数据类型,一个键最大能存储512MB。

实例

redis 127.0.0.1:6379 阅读全文...
分类: 系统运维 标签:

线程同步synchronized

2017年4月25日 没有评论

转载请标明出处:

本文出自:【顾林海的博客】

前言

在编写多线程应用时,读写相同的数据,最有可能发生数据的错误或不一致,为了防止这些错误的发生,我们引入了临界区概念,临界区是一个用以访问共享资源的代码块,这个代码块在同一时间内只允许一个线程运行。为了更好的实现临界区,Java提供了同步机制,所谓的同步机制是指:当一个线程试图访问一个临界区时,它将使用一种同步机制来查看是不是已经有其他线程进入临界区,如果没有其他线程进入临界区,它就可以进入临界区,否则它就被挂起,直到进入的线程离开这个临界区。关于线程的基础知识可以查看《有关线程的相关知识(1)》和《有关线程的相关知识(2)

synchronized的使用 阅读全文…

分类: 编程语言(其他) 标签:

HAUTOJ 玲珑杯 1269: 爱看电视的LsF(暴力)

2017年4月25日 没有评论

1269: 爱看电视的LsF
时间限制: 1 秒 内存限制: 64 MB
提交: 312 解决: 77
提交 状态
题目描述

LsF(刘师傅)非常喜欢看电视!
不幸的是,遥控器上的一些数字按钮坏了。 但他灵光一闪,如果他不能直接输入他想要看到的频道的号码,那么他可以先输入其他号码,再通过按下按钮+ 和- (这两个按钮由24K钛合金制成,永远不会坏)的方式到达所需的频道。 按钮+将数字增加1,按钮-将数字减少1。当然他依然可以使用那些完好无损的数字按钮输入号码。
他最初在第S频道,他想看第T频道。他想知道由S到T频道所需的最少按钮按压次数。

输入

输入包含多组数据。
对于每组数据,第一行是三个整数n,S,T(n≤10,0≤S,T≤500,000。 第二行是n个数字 a1,a2,…,an,表示数字 ai键已经坏了 (0≤ai≤9,ai≠aj when i≠j)。 阅读全文…

分类: 编程语言(其他) 标签:

poj3096——Surprising Strings(STL)

2017年4月25日 没有评论

Description

The D-pairs of a string of letters are the ordered pairs of letters that are distance D from each other. A string is D-unique if all of its D-pairs are different. A string is surprising if it is D-unique for every possible distance D.

Consider the string ZGBG. Its 0-pairs are ZG, GB, and BG. Since these three pairs are all different, ZGBG is 0-unique. Similarly, the 阅读全文…

分类: 编程语言(其他) 标签:

Curator之Master/Leader选举注意事项

2017年4月25日 没有评论

上篇博客《Zookeeper开源客户端Curator之Master/Leader选举》介绍了Leader选举的使用方法。这边博客主要说明一下在分布式定时任务选举Leader执行的过程中需要考虑的事项。

我们都知道,通过Leader选举可以选举出一台机器来执行定时任务。这里有两种选择:

  1. 选出Leader之后,以后所有的定时任务都由此台机器执行。
  2. 每次到执行Job的时候重新进行一次竞选,成为Leader者进行执行。

针对以上两种情况就需要考虑一下问题:

  1. 第一种方案如果Leader选出之后,Leader在执行定时任务宕机,后面如何进行重新Leader选举;
  2. 第二种方案如果服务器的时间不一致如何处理?如果每台机器Job执行的时间不一致如何处理?如果任务执行的时间很短暂,Leader执行之后马上释放,后面因网络延迟等原因又获得Leader权限重新执行了任务,如何处理? 阅读全文…
分类: 编程语言(其他) 标签: