redis学习(10)—redis哈希槽扩容与缩小

1、将节点重新加入集群
6387为主节点,6388为从节点
步骤看上一篇

2、重新分配槽号
redis-cli --cluster reshard 192.168.1.138:6381
说明:
ip:port:为集群中任意一个节点就行
步骤一:

>>> Performing Cluster Check (using node 192.168.1.138:6381)
M: c790b5f9584777ba8d9f96be5fe42b2efe646635 192.168.1.138:6381
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
S: 7599539245821b1a2e185439f3170b896b287106 192.168.1.138:6388
   slots: (0 slots) slave
   replicates ca77bc2a223c64a7af727b24172ae8f43d3e9b5a
S: b264b25c716863096d0c2fe39483130cbfeba894 192.168.1.138:6385
   slots: (0 slots) slave
   replicates f9200d36046d8325817c8014155e8f9950760da4
S: 33add5fdf6d9cc3eb8656c865403a34b237b4b73 192.168.1.138:6384
   slots: (0 slots) slave
   replicates 691e5855e8f274a6ea61dc95dbed89da87ed6053
S: d7bbc7bb0b501b421d527f6c302a8abe00aa535b 192.168.1.138:6386
   slots: (0 slots) slave
   replicates c790b5f9584777ba8d9f96be5fe42b2efe646635
M: f9200d36046d8325817c8014155e8f9950760da4 192.168.1.138:6383
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
M: ca77bc2a223c64a7af727b24172ae8f43d3e9b5a 192.168.1.138:6387
   slots: (0 slots) master
   1 additional replica(s)
M: 691e5855e8f274a6ea61dc95dbed89da87ed6053 192.168.1.138:6382
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
How many slots do you want to move (from 1 to 16384)? 4096

继续阅读redis学习(10)—redis哈希槽扩容与缩小

redis学习(9)—redis集群扩容与缩小

1、准备
回顾,上一篇把6381变成fail,6386变成master
还原:6381重新变成了master,6386变成了slave
docker stop redis-node-6
docker start redis-node-6

2、查看集群信息
登录进容器
redis-cli --cluster check 192.168.1.138:6381

3、增加2台redis节点
mkdir -p /data/redis/share/redis-node-7
mkdir -p /data/redis/share/redis-node-8
docker create --name redis-node-7 --net host --privileged=true -v /data/redis/share/redis-node-7:/data redis:5.0.7 --cluster-enabled yes --appendonly yes --port 6387
docker create --name redis-node-8 --net host --privileged=true -v /data/redis/share/redis-node-8:/data redis:5.0.7 --cluster-enabled yes --appendonly yes --port 6388

继续阅读redis学习(9)—redis集群扩容与缩小

redis学习(8)—redis集群主从切换

集群环境为3主3从,安装参考《使用docker安装redis集群》

1、客户端验证
192.168.1.138:6381> set user:100 agan
-> Redirected to slot [9308] located at 192.168.1.138:6382
OK
192.168.1.138:6382> set user:200 alex
-> Redirected to slot [15628] located at 192.168.1.138:6383
OK
192.168.1.138:6383>

说明:
第一次执行,落到了第9308个槽号,节点是192.168.1.138:6381
第二次执行,落到了第15628个槽号,节点是192.168.1.138:6382
在集群环境里面,首先会去找槽号,然后再去找ip地址
并且执行完一个后,会轮询到下一个主节点

继续阅读redis学习(8)—redis集群主从切换

docker学习(10)—使用docker安装redis集群

1、创建容器,创建6个redis实例
docker create --name redis-node-1 --net host --privileged=true -v /data/redis/share/redis-node-1:/data redis:5.0.7 --cluster-enabled yes --appendonly yes --port 6381
docker create --name redis-node-2 --net host --privileged=true -v /data/redis/share/redis-node-2:/data redis:5.0.7 --cluster-enabled yes --appendonly yes --port 6382
docker create --name redis-node-3 --net host --privileged=true -v /data/redis/share/redis-node-3:/data redis:5.0.7 --cluster-enabled yes --appendonly yes --port 6383
docker create --name redis-node-4 --net host --privileged=true -v /data/redis/share/redis-node-4:/data redis:5.0.7 --cluster-enabled yes --appendonly yes --port 6384
docker create --name redis-node-5 --net host --privileged=true -v /data/redis/share/redis-node-5:/data redis:5.0.7 --cluster-enabled yes --appendonly yes --port 6385
docker create --name redis-node-6 --net host --privileged=true -v /data/redis/share/redis-node-6:/data redis:5.0.7 --cluster-enabled yes --appendonly yes --port 6386

说明:
docker create:创建容器的命令,但不启动它
--name redis-node-1:容器的名字,例如:redis-node-1
--net host:docker网络,使用宿主机的IP和端口
--privileged=true:docker容器权限,获取宿主机root权限
-v /data/redis/share/redis-node-1:/data:容器的data目录,映射到宿主机/data/redis/share/redis-node-1
redis:5.0.7:redis镜像名称和版本号
--cluster-enabled yes:redis.conf的配置,开启redis集群
--appendonly yes:redis.conf的配置,开启数据持久化
--port 6381:redis.conf的配置,redis端口号

继续阅读docker学习(10)—使用docker安装redis集群

redis学习(7)—操作geohash命令

自redis 3.2开始,redis基于geohash和zset提供了地理位置相关功能
什么是Geohash
Geohash是一种地址编码,它能把二维的经纬度编码成一维的字符串。比如,世界之窗的编码是ws101xy1rp0
Redis Geo模块包含了以下6个命令:

1、GEOADD命令
将给定的位置对象(纬度、经度、名字)添加到指定的key
注:
1)这里我们采用的是中文存储,如果出现了乱码,redis命令的登录命令加上 –raw
例如:./redis-cli –raw
2)查看某个地址的经纬度,建议用http://www.gpsspg.com/maps.htm

115.99956025097654
39.8807058838189
天门山森林公园

115.98857392285154
38.94226425604525
白洋淀景区

继续阅读redis学习(7)—操作geohash命令

驾考科目一-知识点

1、机动车驾驶人造成事故后逃逸构成犯罪的,吊销驾驶证且多长时间不得重新取得驾驶证?
答案:终生
解析:
假一吊二撤三醉五逃终生
假一:提交虚假材料考驾照,一年内不得重新申请;
吊二:被吊销驾照后,二年内不得重新申领;
撤三:被撤销驾照后,三年内不得重新申领;
醉五:醉酒肇事,五年内不得重新申领;
逃终生:肇事逃逸者,终生不得重新申领;

2、现在已经没有违章和违规行为,“违反道路交通安全法”都是违法行为

3、驾驶机动车应当随身携带哪种证件?
答案:驾驶证
解析:
开车必须携带驾驶证

继续阅读驾考科目一-知识点

股市投资入门14—投资者常犯的21个错误

一定要避免下面这些关键错误:

1、当损失很小并处于合理的范围时,持股不动。在人类情感的作用下,大部分投资者本能上偏好小赔出局。由于不想承受损失,便空怀希望继续等待,直到亏损变得非常严重,不得不付出昂贵的代价。这是到目前为止,几乎所有投资者都犯过的最严重的错误之一:他们不明白,所有的普通股都是极具有投机性的,并能带来巨大的风险。你必须尽量减少每一个损失,无一例外。在过去45年中,我在全国各地的课堂上都会教学生这样一个准则:当股价低于买入价7%或8%时,立即进行止损。遵循这一简单的原则,你可以在股市汹涌的浪潮中生存下来,并能把握住未来很多良机。

2、在股价下跌时买进,却越陷越深。处于下跌过程中的股票看似很划算,因为它比几个月前要便宜很多。1999年年末,我认识的一个女士在施乐公司的股票突然下跌至股价新低时,以34美元的价格买进了一些,这笔交易看起来很便宜。一年以后,施乐的股价为6美元。为什么要试图接住一个垂直掉落的匕首呢?2000年,很多投资者采取了相同的策略,当思科公司的股价由82美元一路跌至50美元时进行买入,而该股票再也没能涨到50美元,即使在2003~2007年的牛市中也是如此。到了2009年1月,你只需出16美元就能买到一份思科的股票了。

继续阅读股市投资入门14—投资者常犯的21个错误

股市投资入门13—大宗商品图表技术分析&小结

只要这些资产的价格完全由供需关系决定,那么它们的价格走势图就和股票走势图一样,展现出相似的涨跌、建仓及出货、震荡、整固和反转形态。不论公司股票还是棉花期货合约,投机者的目的和心态都是相同的。

海龟是什么
所谓的人类智慧,只不过是人、时间、法则、市场的幸运组合而已。
海龟交易法源于理查德·唐奇安(Richard Donchian)的通道突破交易法。在唐奇安交易法(Donchian system)下,交易者在20日高点被突破时做多,在20日低点被击穿时做空。

应用爱德华兹和迈吉的方法
他们的投资战略都是顺势而为。
回顾期货市场过去一些年的走势后,我觉得股票的图表分析法完全可应用在期货上。从根本上看,就图表分析而言,证券交易的问题与期货交易中的其实一样。市场上存在趋势吗?支撑位和阻力位在哪儿?价格是否已有效突破?价格走势呈波浪状吗?何时该进场,何时该离场?
图表分析法作为一种定性分析过程,有自己的缺点(或优点),而且不会像机械交易系统那样代替一般交易者做决策。
建议资本应流入有流动性的市场,而不应陷入一潭死水。
还建议良性的相互对冲应该是做多一个升势中的指数,同时做空该指数中下跌的成分股。

继续阅读股市投资入门13—大宗商品图表技术分析&小结

股市投资入门12—长线趋势线

大部分交投活跃、投机性强的个股,在上涨时趋势往往会加速。这些个股一开始缓慢上涨,但渐渐会形成非常陡峭的涨势,直至长线顶点。由于连接最初缓慢上涨阶段的两个低点形成的趋势线较为平坦,因此这些个股的走势往往会高悬于其上,而在它们触顶反转后(可能是长线反转),还没触及趋势线跌幅就已经较为显著了。
投资型股票或半投资型股票,往往会以对数图中的直线趋势上涨。投机性强的个股,往往走出了一条上弯曲线。高评级优先股,在长线牛市趋势中的下弯上涨曲线。
关于构筑长线牛市趋势线还有一个要点:最有用的趋势线并不始于前一个熊市的最低点,而是随后的中线低点。牛市一开始的建仓阶段通常较为平缓,且耗时较长。因此,如果从熊市的最低点开始画第一条趋势线的话,它会过于水平,不能预示真正的牛市已经到来。

长线跌势
熊市趋势一般比牛市趋势陡峭(因为熊市持续时间平均只有牛市的一半),而且呈现出加速下跌或向下弯曲的特征。
熊市最后阶段的中线趋势线可以给出长线熊市结束的信号。
PS:A股是熊长牛短

继续阅读股市投资入门12—长线趋势线

股市投资入门11—趋势线和通道

图表技术分析中还有一个基本原则,就是价格总在趋势中运动。
股价在趋势中运动。趋势可以向上、向下或水平震荡,持续时间可长可短。根据道氏理论,趋势可分类为长线、中线和短线趋势以及横盘。(较短的中线趋势和较长的短线趋势之间的差别通常较难体现在个股上,而在平均指数上相对容易看出。)但趋势迟早会改变,牛会转熊,熊会转牛,上涨一段时间后市场会稍作修正然后继续上攻,涨跌也可快可慢。
投资者在趋势逆转前,只需跟风操作即可获利。因此,投资者要解决的问题就是尽早发现并参与可以获利的趋势,并在这段趋势要结束或逆转时及时退出。重要的趋势逆转往往带有明显的特征,集中体现在价格和成交量的形态上,即我们所说的反转形态。

趋势线
几乎所有的短线和绝大多数的中线趋势都近乎直线。不仅是短线趋势,为期数年的长线趋势从图表上看也似乎是用直尺画出来的。这是股票图表所展示的最奇特、最神秘、最令人着迷的现象。
把牛市中所有短线回调的低点连起来,往往真的是一条直线。换句话说,牛市的上涨由一波波小浪组成,而每一波的低点相连则会(或几乎会)形成一条上倾直线;而每一波的高点相连却没有这么整齐,尽管偶尔也会形成一条直线,但大多数时候参差不齐。
在熊市中,则是每个短线波段的高点相连会形成一条直线,每个短线波段的低点相连并不一定整齐。
这两条线,即上升趋势中的各波段低点相连的线和下跌趋势中各波段高点相连的线,就是基本趋势线。

继续阅读股市投资入门11—趋势线和通道

软件及互联网爱好者