Redis
程序员小董
毕业后先在腾讯做了近3年的kv存储引擎开发
之后在阿里做了3年多互动游戏的开发
展开
-
Redis的快照与AOF
本文可作为redis in action第四章的阅读笔记我们知道,redis的数据是保存在内存里,而内存一断电就没了,所以为了数据持久化,我们得想办法把内存中的数据持久化到硬盘或者另一台机子上。先说本地持久化到硬盘,这就有两种方式,一是快照(snapshotting),二是只追加文件(append-only file AOF)快照快照的核心原理就是把redis在某个原创 2016-10-21 11:51:57 · 9696 阅读 · 3 评论 -
谈谈Jedis的连接池技术
其实这篇文章的题目,应该叫谈谈Apache common pool的连接池技术这篇博客,就不怎么分析源码了,咱们尽量把观察的层次提高一下,主要分析流程。下图是JedisPool里面用到的一些类(有些类我省略了,例如closeable)PooledObjectFactory,是一个泛型接口,里面有makeObjcet,destroyObject,validateObjec原创 2016-12-28 14:04:11 · 3635 阅读 · 0 评论 -
RedisCluser(v-3.2.0)与Tomcat7的Session整合
一般情况下,一个web系统的架构是类似这样的:一个或多个nginx做负载均衡,后面连多个tomcat(或别的类型的web服务器)。nginx做负载的时候,关于request的分流,至少就有两种策略,第一种就是根据请求的ip做hash,这样能保证同一个ip的请求都映射到同一个tomcat上。第二种,就是直接按照时间或者后端服务器的性能,负载等条件进行分流,那么这样,比如就会产生session原创 2016-12-27 23:39:41 · 1509 阅读 · 2 评论 -
redis的内存分析
redis的内存分析可以使用redis-rdb-tools这个工具这个工具是使用python开发的,我们用pip安装它。pip是个什么东西?python pip是一个安装和管理 Python 包的工具。怎么安装,当然至少可以在线安装呀。但是在线安装是在是太慢了。怎么办?把下载的tar.gz上传到你的服务器然后# tar -xzvf pip-1原创 2016-12-22 17:36:25 · 1595 阅读 · 0 评论 -
Centos7下Redis3.2的安装配置与JReid测试
环境 Centos7Redis版本 3.2.0安装目录 /usr/local/redis/redis-3.2.0Redis的介绍参见官网安装1 安装gcc与tcl# yum install gcc tcl 2 下载3.2.0# mkdir /usr/local/redis # cd /usr/local/redis # wge原创 2016-05-26 16:37:52 · 3094 阅读 · 0 评论 -
Redis进行职位搜索
本文可作为redis in action第七章的读书笔记需求背景职位数据库里有这样的数据job1:skill1,skill2,skill4job2:skill3,skill2而每一个应聘者,都有若干个技能给定一个应聘者,从库里筛选出他能胜任(职位要求的仅能这个人必须都具备,当然他有更多的职位并没有要求的技能也是OK的)的职位方案一这也是最符合我们第一原创 2016-10-24 14:34:10 · 1060 阅读 · 0 评论 -
Redis实现多人多聊天室
本文可作为redis in aciton第六章的读书笔记功能特性支持多人多聊天室设计原理左边的一个数据域,代表两个聊天室,聊天室id分别是827,729在聊天室827里,有2个人,分别是jason22,jeff24他们分别已经阅读过聊天室内的id为5和6的消息右边的一个数据域,代表了用户在不同的聊天室,jason22参与了827与729聊天室,在原创 2016-10-24 10:44:08 · 5836 阅读 · 2 评论 -
Redis下分布式锁的实现
本文可作为redis in action第六章的学习笔记其实,对redis而言,锁和事务与watch等等是分不开的。我们先来聊聊事务和watch事务,在关系型事务上的意思就是:一个事务内的sql,要不全部都执行成功,要么全部都不执行。不过redis的事务只能部分满足"一荣俱荣,一损俱损"的特性。怎么说?在关系型数据库中,一个事务内部如果发生了错误,所有sql就都回滚原创 2016-10-22 18:07:49 · 2259 阅读 · 2 评论 -
Redis实现自动补全
本文可作为redis in action第六章的读书笔记首先,数据库里有 abc,abks,pskm,aspqbmc,而自动补全,至少有两种:1 前缀补全 例如我输入'ab',给我返回abc与abks2 随机补全 例如我输入'm p'给我返回pskm,aspqbmc前缀补全ok,咱们先说这个前缀补全如果数据量不大的话,java的String类型有star原创 2016-10-20 16:20:18 · 2740 阅读 · 0 评论 -
使用redis实现页面缓存
我们要缓存的就是形式如下面的urlhttp://test.com/shwoItem?item=itemX设计方案第一个域,是zset类型的------key是viewed:userSessionid存放的是商品id与用户查看此商品时的timestamp第二个域,是zset类型的------可以是viewed:member是商品id(全局范围内),score是商品原创 2016-10-18 23:31:30 · 16211 阅读 · 1 评论 -
使用redis构建文章投票系统
首先,我得说明这篇博客基本上就是>第一章内容的读书笔记。需求首先,说明一下,我们的需求用户可以发表文章,发表时,自己就默认的给自己的文章投了一票。用户在查看网站的文章时,文章当然是按顺序排列的(这个顺序怎么计算呢?我们把文章发表的时间求出来,这个时间就是离1970年的那个秒数,同时,文章每被投票一次,再那个时间的基础上加上一个常量。最后按照所有文章的总得分来排序)。当然,我也可原创 2016-10-18 10:46:26 · 4988 阅读 · 3 评论 -
redis中hash表的使用
假定我们有一个hashmap的逻辑结构,用户编号的为15的人,name是dlf,school是xdu当我们在redic-cli命令行下敲下hset id:15 name dlf时redis里面都发生了什么事情呢?任何一个使用过redis的用户,即使没有看过redis的源码,想一下这个过程,那么肯定都包含下面这几步1 socket连接2 redis-server收到命令信原创 2016-11-27 18:51:22 · 4868 阅读 · 0 评论