- 博客(79)
- 资源 (6)
- 收藏
- 关注
原创 分布式一致性hash算法
写在前面 在学习Redis的集群内容时,看到这么一句话:Redis并没有使用一致性hash算法,而是引入哈希槽的概念。而分布式缓存Memcached则是使用分布式一致性hash算法来实现分布式存储。所以就专门学习了一下什么是分布式?什么是一致性?什么是哈希? 1)分布式(distributed)是指在多台不同的服务器中部署不同的服务模块,通过远程调用协同工作,对外提供服务。“分布式一致性hash
2018-01-01 11:44:40 4862 1
原创 分布式缓存Redis之与Memcached的比较
写在前面 本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_Learning 由于在项目中并没有使用Memcached,所以在这贴出Memcached的教程,以备不时之需。 http://www.runoob.com/Memcached/Memcached-tutorial.html Redis的作者Salvatore Sanfi
2017-12-28 15:07:59 26571 3
原创 分布式缓存Redis之适用场景
写在前面 本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_Learning 学而用之嘛。在这总结一下,Redis的适用场景,合理的使用Redis会让你的项目变得更高效。1、显示最新的项目列表 下面这个语句常用来显示最新项目,随着数据多了,查询毫无疑问会越来越慢。SELECT * FROM foo WHERE ... ORDER BY
2017-12-25 16:19:57 8440 1
原创 分布式缓存Redis之性能测试
写在前面 本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_Learning Redis 性能测试是通过同时执行多个命令实现的。语法: redis 性能测试的基本命令如下:redis-benchmark [option] [option value]实例 以下实例同时执行 10000 个请求来检测性能:redis-benchmark
2017-12-24 11:19:30 4593 1
原创 分布式缓存Redis之内存优化
写在前面 本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_Learning Redis作为内存数据库,所有数据都从内存中拿,省去读写磁盘的消耗(持久化是由fork子进程处理,主服务对外能力不受影响),响应速度极快。但我们不可能将所有的数据都读到内存中,所以内存资源显得非常可贵,我们就要优化存储结构,使得好钢用在刀刃上。一、尽量使用ha
2017-12-23 18:40:38 6721 1
原创 分布式缓存Redis之cluster集群
写在前面 本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_Learning 官方文档: 集群教程:http://www.redis.cn/topics/cluster-tutorial.html 集群规范:http://www.redis.cn/topics/cluster-spec.html jedis客户端操作r
2017-12-21 15:20:04 2858 1
原创 分布式缓存Redis之Script脚本
写在前面 本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_Learning一、简介 Redis 脚本使用单个Lua 解释器来执行脚本,并且Redis 也保证脚本会以原子性(atomic)的方式执行:当某个脚本正在运行的时候,不会有其他脚本或 Redis 命令被执行。这和使用 MULTI / EXEC 包围的事务很类似。在其他别的客户端
2017-12-16 15:45:53 10114 1
原创 分布式缓存Redis之主从复制与Sentinel哨兵
写在前面本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_LearningRedis主从复制Master可以拥有多个slave多个slave可以连接同一个Master外,还可以连接到其他的slave主从复制不会阻塞Master,在主从复制时,Master可以处理client请求。提供系统的伸缩性。支持slave只读模式异步的主
2017-12-15 09:33:52 2546 1
原创 分布式缓存Redis之ShardedJedis
写在前面 本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_Learning 原来项目中有用到Redis用作缓存服务,刚开始时只用一台Redis就能够满足服务,随着项目的慢慢进行,发现一台满足不了现有的项目需求,因为Redis操作都是原子性的,造成有时同时读写缓存导致查询效率的下降。但是由于我们现在用的还是Redis2.X版本,还是没有
2017-12-14 10:46:39 3862 1
原创 分布式缓存Redis之Java客户端
写在前面 本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_Learning 目前Redis的Java客户端主要有两种:Jedis、Redission,个人感觉Jedis用的广泛一些,而且博主现在开发用的也是Jedis。Jedis与Redisson对比概况对比 Jedis是Redis的Java实现的客户端,其API提供了比较全面的Re
2017-12-13 19:57:15 4328 10
原创 分布式缓存Redis之资源释放
写在前面 本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_Learning为什么要关闭连接? 比如下面一段代码:for(int i = 2000; i < 3000; i++) { Jedis jedis = redisDao.getJedis(); jedis.set("user:" + i, jedis.toStr
2017-12-12 19:14:59 2566 1
原创 分布式缓存Redis之发布/订阅(Pub/Sub)
写在前面 本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_Learning一、简介 SUBSCRIBE、UNSUBSCRIBE和PUBLISH 三个命令实现了发布与订阅信息泛型(Publish/Subscribe messaging paradigm),在这个实现中, 发送者(发送信息的客户端)不是将信息直接发送给特定的接收者(接收信
2017-12-12 11:19:13 19659 1
原创 分布式缓存Redis之事务
写在前面 本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_Learning 事务特性官方文档:https://redis.io/topics/transactions 事务特性中文文档:http://www.redis.cn/topics/transactions.html 从redis2.6开始引入Redis scrip
2017-12-10 22:50:59 2731 2
原创 分布式缓存Redis之持久化
写在前面 本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_LearningRedis 可以持久化,当做Cache时持久化的意义在哪? 持久化的意思就是说服务器重启之后,缓存依然存在,内存类型的缓存,服务器重启后就不存在了。比如使用持久化的方案做登录Session,服务器重启后用户不用再次登录,而一般内存方案需要再次登录。 Redis
2017-12-09 16:43:25 6496 1
原创 分布式缓存Redis之Ubuntu常用命令
写在前面本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_Learning1、查看端口是否被占用:netstat –ntlp |grep 6379 netstat -tunpl | grep redis-server2、命令客户端检测链接:连接之前可以先检测服务是否启动;ps -ef |grep redis 测试启动客户端 redis-
2017-12-08 09:21:28 1966 1
原创 分布式缓存Redis之配置文件redis.conf详解
写在前面 本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_Learning 使用配置文件启动服务器:src/redis-server redis.conf 主要配置项:Redis支持很多的参数,但都有默认值。*********************** General######################daemonize:
2017-12-07 11:49:11 2151 1
原创 分布式缓存Redis之二进制安全
写在前面 本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_Learning什么是二进制安全?Redis的String为什么是二进制安全的?维基百科: Binary-safe is a computer programming term mainly used in connection with string manipulating
2017-12-07 10:30:07 7791 1
原创 分布式缓存Redis之HyperLogLog
写在前面 本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_Learning 基数估计算法就是使用准确性换取空间。 为了说明这一点,我们用三种不同的计算方法统计所有莎士比亚作品中不同单词的数量。请注意,我们的输入数据集增加了额外的数据以致比问题的参考基数更高。 这三种技术是:Java HashSet、Linear Probabilist
2017-12-06 09:29:42 1547 1
原创 分布式缓存Redis之数据类型
写在前面本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_LearningRedis 数据类型官方文档:http://www.redis.net.cn/tutorial/3505.htmlRedis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)在Ubu
2017-12-05 15:15:34 922
原创 学习分布式缓存技术Redis系列(总序)
Remote DIctionary Server(redis) 相关参考资料本教程所编写使用的Eclipse-java工程源码见GitHub: https://github.com/selfconzrr/Redis_LearningRedis官网–http://redis.io/ 在线测试redis命令 http://try.redis.io/ Redis文档 https://github.
2017-12-04 20:19:12 1418
原创 三种静态查找算法:顺序、二分/折半、索引/分块查找
终于找了个时间,把三种静态查找算法简单总结了一下,与大家分享讨论。 完整源代码下载地址顺序查找简介 顺序查找是在一个已知无(或有序)序队列中找出与给定关键字相同的数的具体位置。原理是让关键字与队列中的数逐个比较,直到找出与给定关键字相同的数为止。代码实现public static int orderSearch(int arr[], int target) { for (int
2017-12-01 10:19:29 7229 2
原创 Your MATLAB license will expire in 05 days
其实2个月之前就遇到这个问题了,打开MATLAB时出现如下提示:想必很多同学都遇到了吧,可能是crack文件的问题,导致license.lic文件里的破解到期时间为2017-11-11,单身狗的节日。。。---------------------------------------------------------- Your MATLAB license will expire in 0
2017-11-06 09:38:37 10144 3
原创 Eclipse下SVN插件安装、使用及SVN服务器的搭建
SVN简介: SVN是版本管理工具,进行团队项目开发时,项目代码保存在服务器上,成员可以用SVN在本地获得并更新代码。安装首先在Window→show view→other上输入搜索“SVN”,查看eclipse是否已经下载安装好,是否已存在SVN工具。若不存在,点击导航栏Help→Install new software,弹出对话框中点击“add”,输入下图中的网址进行下载。选择Subcli
2017-10-27 20:46:03 3515
原创 Java 判断一个点是否在一个三角形内
题目描述: 如何判断一个点是否在一个三角形内。测试样例:自定义的POINT类:class POINT{ int x; int y; public POINT(int x,int y){ this.x = x; this.y = y; }}思路一:面积法: 如果一个点在三角形内,其与三角形的三个点构成的三个子三角形的面积等于大三角形
2017-10-12 12:55:55 13874 3
原创 Coding Style编码风格
缩进采用设置2个空格的缩进方式。换行1)一行不超过75个字符2)如果太长,可以在:“,”后换行,或者运算符前换行空格1)在关键字和()之间加空格,如:while ()2)运算符前后加空格3)在参数列表的“,”后加空格, 如:test(int id, string name)4)强制转换类型后加空格,如:(object) x括号不省略大括号和小括号空行1)导入的包之后加空行2)两个方法之间加空行3)
2017-09-28 16:20:03 3551 1
原创 第90百分位数的概念与计算
题目描述:思路:知乎上的讨论 今天做了道题,刚开始没读懂题,网上搜了一下关于第95百分位的解释,大家各有说法,各有自己的理解。但是看了很多人的评论也是,表示基本都看不懂。 从维基百科上可以找到这么一段话:There is no standard definition of percentile, however all definitions yield similar results whe
2017-09-21 21:01:22 54822 9
原创 fatal: unable to access ‘https://github.com/***‘: Failed to connect to github.com port 443:Timed out
在今天使用GitHub托管代码,打算将一个多线程的学习样例工程,上传到GitHub上,结果新建了仓库后,在本地clone的时候出现了如图所示的奇葩问题: fatal: unable to access ‘https: //github.com/*‘: Failed to connect to github.com port 443:Timed out 想必大家也遇到过,或者将来可能遇到。现将解决办
2017-09-12 20:48:42 12920 1
原创 Catalan number卡特兰数
背景知识介绍: 卡特兰数是离散数学中的一个重要数列,是很多生活场景的一个抽象,比如买早餐、买电影票等等。在很多大公司的笔试或者面试题中也常涉及到。百度百科介绍 卡特兰数 卡特兰数是组合数学中一个常出现在各种计数问题中的数列。前20项为其前几项为 : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2
2017-09-07 17:25:17 1252 1
原创 搜狐笔试:Kolakoski sequence
写在前面: 昨晚本来是帮师姐做笔试题的,结果gg了,然后网上搜了一下,相关的资料和实现也比较少,所以决定总结一下,共同学习。欢迎各位交流想法,提意见。题目描述: 偷懒,直接放的图片^_^ 要求:给定一数组,输出其构造的Kolakoski序列的前n项。背景知识介绍:百度百科介绍 Kolakoski序列是一个仅由1和2组成的无限数列,是一种通过“自描述”来定义的数列。他在整数数列大全网站上排名第
2017-08-29 10:49:07 1262
原创 剑指offer:数组中出现次数超过一半的数字
题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。测试样例:例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。思路一(不推荐):首先将容器中的数字排序,则排序结束后,相同的数字都在相邻位置,直接判断数组当前位置的数字与(数组位置+数组一半长度位置)的数...
2017-07-31 11:16:43 1411 7
原创 in-place操作
在刷编程题的时候,可能大家也经常遇到题目要求do in-place。起初并未在意,主要是即使没有按照要求实现,也可以AC,但总觉得有些投机取巧的嫌疑。所以就上网搜了相关概念,简单总结一下。 in-place操作,意思是所有的操作都是”就地“操作,不允许进行移动,或者称作 原位操作,即不允许使用临时变量。 举个例子,大家经常写也经常用到的”交换两个数的值”://设置初始值int x = 1,y
2017-04-16 18:42:20 20739 2
原创 巧用二分法实现数学开方(sqrt)运算
二分查找时间复杂度计算与分析implement int sqrt(int x). Compute and return the square root of x.public int sqrt(int x) { int low = 0; int high = x; while (low <= high) { long mid
2017-04-11 20:07:03 9920 3
原创 二分查找时间复杂度计算与分析
二分查找: 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一
2017-04-05 21:18:41 17758 5
原创 StringBuilder的用法及String,StringBuffer与StringBuilder的区别
声明:本文大部分内容为参考别人的,自己简单汇总整理了一下。 String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因为String类的声明是:public final,因此在每...
2017-03-30 15:33:43 13088 4
原创 java中scan.next()与scan.nextline()函数的使用与区别
今天在做牛客网编程练习题“length of last word”时,当编写测试样例时,使用split()函数对输入的字符串进行按空格符分割,确遇到了”奇葩“的问题,每次只能得到第一个字符串。开始以为是split()函数用错了,查了资料确定无误后,觉得应该是输入的有问题。于是进行了下面的测试...........用Scanner实现字符串的输入有两种方法,一种是next(),一种nextLine();
2017-03-24 20:16:05 19507 5
原创 Python爬虫豆瓣电影top250
有了上次的基础,这次简单爬了下豆瓣上电影TOP250,链接豆瓣电影TOP250。 打开链接,查看网页源代码,查找我们需要的信息的字段标签,本次以标题、概要、评分、图片为目标,分别进行处理、获取并保存。(当然最根本的前提依然是通过url获取到网页的源代码) 本实例完整代码请移步github: https://github.com/selfcon/douban_movie_scraper_pyth
2017-03-13 20:04:56 4526
原创 论文参考文献格式与设置
在这简单整理一下参考文献的格式与设置。格式§ 专著:[序号] 著者. 书名[M]. 出版地:出版者,出版年:起止页码. § 期刊:[序号] 著者. 篇名[J]. 刊名. 出版年, 卷号(期号):起止页码. § 论文集:[序号] 著者. 篇名[A]. 编者. 论文集名[C]. 出版地:出版者,出版年:起止页码. § 学位论文:[序号] 著者. 题名[D]. 保存地:保存单位,授予年.
2017-03-05 21:02:50 20205
原创 VMware Workstation 12序列号
VMware Workstation 12序列号5A02H-AU243-TZJ49-GTC7K-3C61N找了好久才找到这个能使用的,在此保存并分享给大家使用。
2017-03-04 20:20:14 1558
原创 12款程序员们最爱的Bootstrap模板
确实很喜欢,就不复制过来了,用的时候直接去原博看! 链接一 链接二BootstrapBootstrap,来自 Twitter,是目前很受欢迎的前端框架,基于 HTML、CSS、JAVASCRIPT ,提供了优雅的HTML和CSS规范,是一种简洁、直观、强悍的前端开发框架,让web开发更迅速、便捷中文网站
2017-03-04 20:13:50 6638
基于B/S模式的网上购物系统的构建
2014-07-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人