Redis
Kevin.Yang
这个作者很懒,什么都没留下…
展开
-
Redis常用的命令(二)------key的基本操作
1.查看所有的keykeys *如图所示: 2.查看key类型type key如上图,可以查看“test”的类型,如下:type "test"3.删除keydel key4.重命名keyrename key newkey如:rename name name015.检查key是否存在exists key6.设置过期时间expire key seconds备注: 在小于2.1.3的redis版本里,原创 2015-08-19 15:21:40 · 829 阅读 · 0 评论 -
Jedis源码解析(ShardedJedis)
1 Sharding机制sharding机制:即通常所说的“分片”,允许数据存放在不同的物理机器上, 以适应数据量过大的场景,克服单台机器内存或者磁盘空间的限制。Redis并不支持服务器端分片(redis3.0开始支持了),不过我们可以使用Jedis提供的API来实现客户端的分片,通过“一致性hash”算法,使得数据离散地存放在不同的服务器上面。 2 ShardedJedis类的结构3 Shard原创 2016-03-22 20:26:28 · 4274 阅读 · 2 评论 -
Jedis源码解析(Transation事务)
1 Redis Client中Transaction如何实现Redis中的事务(transaction)是一组命令的集合。事务同命令一样都是Redis最小的执行单位,一个事务中的命令要么都执行,要么都不执行。Redis事务的实现需要用到 MULTI 和 EXEC 两个命令,事务开始的时候先向Redis服务器发送 MULTI 命令,然后依次发送需要在本次事务中处理的命令,最后再发送 EXEC 命令表示原创 2016-03-22 20:16:04 · 1340 阅读 · 0 评论 -
Jedis源码解析(Pipeline的实现)
1 Pipeline介绍Redis客户端与Redis之间使用TCP协议进行连接,一个客户端可以通过一个socket连接发起多个请求命令。每个请求命令发出后client通常会阻塞并等待redis服务处理,redis处理完后请求命令后会将结果通过响应报文返回给client,因此当执行多条命令的时候都需要等待上一条命令执行完毕才能执行,如:get ‘0’,get ‘1’,get ‘2’其执行过程如下图所示原创 2016-03-21 10:20:37 · 14098 阅读 · 6 评论 -
Redis中keys命令的使用与带来的性能问题
(一)keys命令的使用 进入redis-cli之后,我们通常比较关心的是有哪些key(ps:当然也可以用其他客户端工具),那么就不得不说keys命令 keys pattern 获取当前库下的所有key keys * 如下图所示,存在四个key:redis01、redis11、hbase01、hbase11 keys支持一下3种类型的通配符: (1)*,该通配符表示任一长度的原创 2015-12-12 12:07:50 · 27206 阅读 · 0 评论 -
Redis常用的命令(一)-------启动、配置等
1.启动redisredis-start以后台程序的方式运行redisredis-start &备注:(1)redis默认的启动端口为6379,6379在手机键盘上是MERZ 对应的数字,MERZ是一名意大利女歌手的名字,估计redis的创作者是她的粉丝啊; (2)当然启动的时候可以更改其启动的端口redis-server --port 63782.查看redis是否启动成功 检测后台进程原创 2015-08-19 15:08:33 · 18135 阅读 · 1 评论 -
Redis中PipeLine使用(二)---批量get与批量set
批量查询的相关问题总结再做测试之前首先向redis中批量插入一组数据1-->1 2-->2 3-->3 4-->4 5-->5 6-->6现在批量get数据for (Entry<String,String> entry :map.entrySet()) { pipe.get(entry.getKey().getBytes()); }原创 2015-11-04 17:28:47 · 33839 阅读 · 1 评论 -
Redis中PipeLine使用(一)
(一)简介 Redis客户端与Redis之间使用TCP协议进行连接,一个客户端可以通过一个socket连接发起多个请求命令。每个请求命令发出后client通常会阻塞并等待redis服务处理,redis处理完后请求命令后会将结果通过响应报文返回给client,因此当执行多条命令的时候都需要等待上一条命令执行完毕才能执行,如:get ‘0’,get ‘1’,get ‘2’ 其执行过程原创 2015-10-12 19:48:45 · 9120 阅读 · 1 评论 -
Redis常用的命令(四)-------hash
(一)Redis启动、进入、关闭等命令1.启动redisredis-start以后台程序的方式运行redisredis-start &2.查看redis是否启动成功 检测后台进程是否存在ps -ef |grep redis检测6379端口是否在监听netstat -tunpl |grep 63793.客户端连接验证redis-cli如果显示如下,那么可以开始redis的旅途了 4.关闭red原创 2015-08-13 21:55:45 · 587 阅读 · 0 评论 -
Redis常用的命令(三)------字符串
1.指定键设置值set key value如:set name 2.获取键对应的值get key如上图:get name3.设置键的字符串值,并返回旧值getset key value如将name的value设置为”hello01”getset name "hello01"4.追加值到一个键append key value如name原来的value为”a”,现在追加”b”:append name原创 2015-08-14 15:46:17 · 627 阅读 · 0 评论 -
Redis中连接池使用的相关问题
(一)问题描述: 今天跑了一个storm job,job的目的是向redis写入数据,job可以正常运行,但是奇怪的是运行大约3分钟左右就停了,没有跑任何的异常……(二)问题症结(以下为简化代码): @Override public void execute(Tuple input) { KafkaEvent kafkaEvent = (KafkaEvent) inpu原创 2015-09-07 19:26:50 · 5443 阅读 · 0 评论 -
Redis常用的命令(六)------集合类型
引言:redis中集合类型是是使用值为空的的hash实现的,其时间复杂度为O(1);集合中的元素都是不同的,且没有顺序的;多个集合之间可以进行并集、交集、差集运算。1.增加元素sadd key member [member...]如:sadd car01 a2.统计集合中元素的个数scard key3.删除元素srem key member [member...]4.获取集合中的所有元素smembe原创 2015-08-29 20:52:29 · 595 阅读 · 0 评论 -
Redis常用的命令(五)------列表list
在redis中,列表list可以存储一个有序的字符串列表,其内部是使用双向链表实现的,因此想列表两端添加元素的时间复杂度为O(1),其主要的应用场景包括:获取最新的几条记录等1.向列表两端添加元素向列表的左侧添加元素lpush key value向列表的右侧添加元素rpush key value2.获取列表中元素的个数llen key3.获取列表的片段lrange key start end其中st原创 2015-08-24 19:56:17 · 1190 阅读 · 0 评论 -
Jedis源码解析(一)-------Jedis与JedisPool
1 主要类的结构1.1 Jedis类的结构 1.2 Client类的结构 2 Send Command[*号][消息元素个数]\r\n ( 消息元素个数 = 参数个数 + 1个命令) [号][命令字节个数]\r\n[命令内容]\r\n[号][命令字节个数]\r\n [命令内容]\r\n [号][参数字节个数]\r\n [参数内容]\r\n [$号][参数字原创 2016-03-14 13:19:04 · 4484 阅读 · 0 评论