redis
codepython
这个作者很懒,什么都没留下…
展开
-
Redis基础、高级特性与性能调优
Redis基础、高级特性与性能调优 kelgon 关注2017.02.28 16:22 字数 12597 阅读 16333评论 5喜欢 154赞赏 2本文将从Redis的基本特性入手,通过讲述Redis的数据结构和主要命令对Redis的基本能力进行直观介绍。之后概览Redis提供的高级能力,并在部署、维护、性能调优等多个方面进行更深入的介绍和指导转载 2017-10-09 20:27:07 · 536 阅读 · 0 评论 -
redis概要_codepython整理二
【redis是什么】redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。redis的官网地址,非常好记,是redis.io。(特意查了一下,域名后缀io属于国家域名,是british Indian Ocean territory,即英属印度洋领地)目前,Vmware在资助着redis项目的开发和维护。【redis转载 2015-11-02 21:57:11 · 396 阅读 · 0 评论 -
Redis: 实现树形数据结构
目的:n 实现树形数据结构n 一次获取所有子节点 节点间没有排序,如果要实现排序,可以在每个节点增加一个排序字段,在 SORT 的 BY 参数中指定排序依据。原始树: id: root, name: Root id: 1, name: Node1 id: 11转载 2015-10-30 16:33:56 · 12713 阅读 · 0 评论 -
教你看懂redis配置_codepython整理四
【教你看懂redis配置 – 简介】我们可以在启动redis-server时指定应该加载的配置文件,方法如下:复制代码代码如下:$ ./redis-server /path/to/redis.conf接下来,我们就来讲解下redis配置文件的各个配置项的含义,注意,本文是基于redis-2.8.4版本进行讲解的。redis官方提供的red转载 2015-11-02 22:45:38 · 980 阅读 · 0 评论 -
redis持久化_codepython整理三
【聊聊redis持久化 – 两种方式】redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File)。RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上;AOF,则是换了一个角度来实现持久化,那就是将redis执行过的所有写指令记录下来,在下次redis重新启动时,只要把这些写转载 2015-11-02 22:43:54 · 678 阅读 · 0 评论 -
redis存储微博点赞的人,如何存储?
问题对人有帮助,内容完整,我也想知道答案3问题没有实际价值,缺少关键内容,没有改进余地比如说有一个微博的TID是1。 UID为1,2,3,4,5,6,7,8,9的用户都给这个微博点赞了。用redis缓存框架存储的话如何存储。微博可能有几十万个。如果用key->set(value) 这种形式的话 key是微博ID的标示 value是 [1,2,3,4,5,6,7,8,转载 2015-11-02 18:57:51 · 3599 阅读 · 0 评论 -
redis数据结构_codepython整理一
【redis数据结构 – 简介】redis是一种高级的key:value存储系统,其中value支持五种数据类型:1.字符串(strings)2.字符串列表(lists)3.字符串集合(sets)4.有序字符串集合(sorted sets)5.哈希(hashes)而关于key,有几个点要提醒大家:1.key不要太长,尽量不要超过1024字节,这不仅消转载 2015-11-02 21:55:05 · 533 阅读 · 0 评论 -
Redis中5种数据结构的使用场景介绍
这篇文章主要介绍了Redis中5种数据结构的使用场景介绍,本文对Redis中的5种数据类型String、Hash、List、Set、Sorted Set做了讲解,需要的朋友可以参考下一、redis 数据结构使用场景原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码。目前目标是吃透 redis 的数据结构。我转载 2015-11-02 18:44:31 · 825 阅读 · 0 评论 -
关于类微博的timeline的设计思考
公司要开发一个类webio的系统,一个很基本的功能就是timeline。用户在自己的主页可以看到其观注的所有用户发表的信息列表;而其它用户可以一个用户的个人主页看到这个人发布的信息列表。这时候最主要要考虑的就是采用推模式,还是拉模式。一、推模式,以空间换时间;一个用户发布一条新信息之后,把这条信息追加到所有的粉丝的页面信息流里;这样当一个用户登录之后,通过一条fetch命令,就可以转载 2015-11-23 15:43:04 · 1520 阅读 · 0 评论 -
[ mongoDB ] - 文档型数据库设计模式-如何存储树形数据
在数据库中存储树形结构的数据,这是一个非常普遍的需求,典型的比如论坛系统的版块关系。在传统的关系型数据库中,就已经产生了各种解决方案。此文以存储树形结构数据为需求,分别描述了利用关系型数据库和文档型数据库作为存储的几种设计模式。A.关系型数据库设计模式1idnameparent_id1ANULL2B转载 2015-11-03 13:53:29 · 5382 阅读 · 1 评论 -
使用Redis之前5个必须了解的事情
摘要:对比传统关系型数据库,虽然基于Redis的应用程序开发有着很多相同之处,但是有一些关键区别在应用程序设计时却必须铭记在心,比如基于内存的单线程特性。使用Redis开发应用程序是一个很愉快的过程,但是就像其他技术一样,基于Redis的应用程序设计你同样需要牢记几点。在之前,你可能已经对关系型数据库开发的那一整个套路了然如胸,而基于Redis的应用程序开发也有许多相似的地方,但是你必转载 2015-11-03 18:09:30 · 885 阅读 · 0 评论 -
Redis 命令参考链接(译文)
本文是 Redis Command Reference(redis.io/commands)的简体中文翻译版, 原文十一个部分、共一百多个命令已经全部翻译完毕。本文所有示例代码均经过 Redis 2.6 版本测试,质量保证。目录(使用 CTRL + F 快速查找):Key(键)DELKEYSRANDOMKEYTTLPTTLEXISTS转载 2015-12-08 18:36:29 · 737 阅读 · 0 评论 -
Redis入门很简单之七【使用Jedis实现客户端Sharding】
. 背景介绍: 1. sharding机制:即通常所说的“分片”,允许数据存放在不同的物理机器上, 以适应数据量过大的场景,克服单台机器内存或者磁盘空间的限制。而这种“离散式”地存放,对客户端来说是透明的,对客户端来讲,完全看不到这种差别。 2. 常见的内存缓存中间件,比如Memcached支持服务器端Sharding,客户端根本无须关心具体的实现细节。而Redis并不支转载 2015-12-08 18:29:30 · 1471 阅读 · 0 评论 -
Redis 集群方案
根据一些测试整理出来的一份方案:1. Redis 性能对于redis 的一些简单测试,仅供参考:测试环境:Redhat6.2 , Xeon E5520(4核)*2/8G,1000M网卡Redis 版本:2.6.9 客户端机器使用redis-benchmark 简单GET、SET操作:1. 1单实例测试1. Value大小:10Byte~1390Byte处转载 2015-12-08 18:39:33 · 901 阅读 · 0 评论 -
Redis入门很简单之六【Jedis常见操作】
之前介绍了Jedis的基本操作,连接池的支持,以及和Spring的整合。接下来的内容,继续Jedis的最为常见的操作。主要包括常用的列表(list)、集合(set)、有序集合(sorted set)、哈希表(hash)等数据结构,以及其他特性支持。. 使用list: 可以使用列表模拟队列(queue)、堆栈(stack),并且支持双向的操作(L或者R)。 1. 右边入队转载 2015-12-08 18:27:09 · 9782 阅读 · 0 评论 -
Redis入门很简单之一【简介与环境搭建】
【Redis简介】 . NoSQL简介: NoSQL是Not-Only-SQL的缩写,是被设计用来替换传统的关系型数据库在某些领域的用,特别针对web2.0站点以及大型的SNS网站,用来满足高并发、大数据的应用需求.常见的NoSQL数据库系统有HBase(Hadoop数据库,基于列存储)、MongoDB(文档型数据库,采用类型与JSON的BSON语法存储记录)、Re转载 2015-12-08 16:24:35 · 1605 阅读 · 0 评论 -
Redis入门很简单之二【常见操作命令】
Redis提供了丰富的命令,允许我们连接客户端对其进行直接操作.这里简单介绍一下作为常用的一些命令,包括对字符串、列表、集合、有序集合、哈希表的操作,以及一些其他常用命令。【 基本操作】1. 添加记录:通常用于设置字符串(string)类型,或者整数类型;如果key已经存在,则覆盖其对应的值。Shell代码 set name James转载 2015-12-08 16:25:26 · 1590 阅读 · 0 评论 -
Redis入门很简单之四【初识Jedis】
使用Jedis提供的Java API对Redis进行操作,是Redis官方推崇的方式;并且,使用Jedis提供的对Redis的支持也最为灵活、全面;不足之处,就是编码复杂度较高。[一]. 入门使用: 下载Jedis的依赖包jedis-2.1.0.jar,然后将其添加到classpath下面。然后,即可进行编程: 1. 定义连接:Redis暂时不要设置登录密码转载 2015-12-08 16:54:55 · 992 阅读 · 0 评论 -
Redis入门很简单之三【常见参数配置】
Redis的一下常见设置都是通过对redis.conf文件进行修改来完成的。 本文主要介绍了设置访问密码、主从配置、设置数据和日志目录、以及参数调优等方面。 一. 权限设置: 1. 修改redis.conf文件:Shell代码 requirepass nick123 2. 客户端登录,需要先进行授权操作,提供密码即转载 2015-12-08 16:52:22 · 951 阅读 · 0 评论 -
用Redis bitmap统计活跃用户、留存
Spool的开发者博客,描述了Spool利用Redis的bitmaps相关的操作,进行网站活跃用户统计工作。 原文:http://blog.getspool.com/2011/11/29/fast-easy-realtime-metrics-using-redis-bitmaps/ Redis支持对String类型的value进行基于二进制位的置位操作。通过将一个用转载 2015-11-23 12:43:50 · 990 阅读 · 0 评论 -
redis密码管理
一. 如何初始化redis的密码?总共2个步骤:a.在配置文件中有个参数: requirepass 这个就是配置redis访问密码的参数。比如 requirepass test123b.配置文件中参数生效需要重启重启redis 。 二.不重启redis如何配置密码?a. 在配置文件中配置requirepass的密码(当redis重启时密码依然有效)。# req转载 2015-11-23 09:53:09 · 1016 阅读 · 0 评论 -
利用redis + lua解决抢红包高并发的问题
抢红包的需求分析抢红包的场景有点像秒杀,但是要比秒杀简单点。因为秒杀通常要和库存相关。而抢红包则可以允许有些红包没有被抢到,因为发红包的人不会有损失,没抢完的钱再退回给发红包的人即可。另外像小米这样的抢购也要比淘宝的要简单,也是因为像小米这样是一个公司的,如果有少量没有抢到,则下次再抢,人工修复下数据是很简单的事。而像淘宝这么多商品,要是每一个都存在着修复数据的风险,那如果出故障了则很转载 2015-11-17 10:15:46 · 708 阅读 · 0 评论 -
Redis学习手册(Key操作命令)
Redis学习手册(Key操作命令)一、概述: 在该系列的前几篇博客中,主要讲述的是与Redis数据类型相关的命令,如String、List、Set、Hashes和Sorted-Set。这些命令都具有一个共同点,即所有的操作都是针对与Key关联的Value的。而该篇博客将主要讲述与Key相关的Redis命令。学习这些命令对于学习Redis是非常重要的基础,也是能够转载 2015-06-11 10:48:29 · 434 阅读 · 0 评论 -
Redis学习手册(Set数据类型)
Redis学习手册(Set数据类型)一、概述: 在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作。需要说明的是,这些操作的时间复杂度为O(1),即常量时间内完成次操作。Set可包含的最大元素数量是4294967295。 和List类型不同的是,Se转载 2015-06-11 10:45:06 · 656 阅读 · 0 评论 -
Redis学习手册(List数据类型)
Redis学习手册(List数据类型)一、概述: 在Redis中,List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素。在插入时,如果该键并不存在,Redis将为该键创建一个新的链表。与此相反,如果链表中所有的元素均被移除,那么该键也将会被从数据库中删除。List中可以包含的最大元素数转载 2015-06-11 10:31:26 · 895 阅读 · 0 评论 -
Redis学习手册(开篇)
Redis学习手册(开篇) 一、简介: 在过去的几年中,NoSQL数据库一度成为高并发、海量数据存储解决方案的代名词,与之相应的产品也呈现出雨后春笋般的生机。然而在众多产品中能够脱颖而出的却屈指可数,如Redis、MongoDB、BerkeleyDB和CouchDB等。由于每种产品所拥有的特征不同,因此它们的应用场景也存在着一定的差异,下面仅给出简单的说明:转载 2015-06-11 10:20:07 · 367 阅读 · 0 评论 -
Redis学习手册(String数据类型)
Redis学习手册(String数据类型)一、概述: 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。二、相关命令列表:命令原型时间复杂度转载 2015-06-11 10:22:34 · 457 阅读 · 0 评论 -
用Redis bitmap统计活跃用户、留存
用Redis bitmap统计活跃用户、留存分类: NOSQL 大数据处理 Spool的开发者博客,描述了Spool利用Redis的bitmaps相关的操作,进行网站活跃用户统计工作。 原文:http://blog.getspool.com/2011/11/29/fast-easy-realtime-metrics-using-redis-bi转载 2015-06-11 11:05:21 · 596 阅读 · 0 评论 -
Redis消息通知系统的实现
Redis消息通知系统的实现最近忙着用Redis实现一个消息通知系统,今天大概总结了一下技术细节,其中演示代码如果没有特殊说明,使用的都是PhpRedis扩展来实现的。内存比如要推送一条全局消息,如果真的给所有用户都推送一遍的话,那么会占用很大的内存,实际上不管粘性有多高的产品,活跃用户同全部用户比起来,都会小很多,所以如果只处理登录用户的话,那么至转载 2015-06-11 11:02:47 · 2098 阅读 · 0 评论 -
Redis学习手册(Sorted-Sets数据类型)
Redis学习手册(Sorted-Sets数据类型)一、概述: Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中。它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score)与之关联,Redis正是通过分数来为集合中的成员进行从小到大的排序。然而需要额外指出的是,尽管Sorted-Sets转载 2015-06-11 10:47:33 · 471 阅读 · 0 评论 -
Redis大冒险
Redis大冒险原文:ALCA in Redis-land一篇对使用Redis在NoSQL的世界中冒险之旅的总结。The legs of our journey像每次出发一样,先对我们这次的旅程路线做个介绍:Redis? What is it?Available datatypesWhere are my tables?A sim转载 2015-06-11 11:17:54 · 377 阅读 · 0 评论 -
Redis
本词条由“科普中国”百科科学词条编写与应用工作项目审核。Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。中文名转载 2015-06-13 11:09:02 · 814 阅读 · 0 评论 -
redis 学习笔记(1)-编译、启动、停止
一、下载、编译redis是以源码方式发行的,先下载源码,然后在linux下编译1.1 http://www.redis.io/download 先到这里下载Stable稳定版,目前最新版本是2.8.171.2 上传到linux,然后运行以下命令解压tar xzf redis-2.8.17.tar.gz1.3 编译cd redis-2.8.17make注:make命令需要转载 2015-11-05 22:57:12 · 370 阅读 · 0 评论 -
redis中各种数据类型对应的jedis操作命令
一、常用数据类型简介: redis常用五种数据类型:string,hash,list,set,zset(sorted set).1.String类型String是最简单的类型,一个key对应一个valueString类型的数据最大1G。String类型的值可以被视作integer,从而可以让“INCR”命令族操作(incrby、decr、decrby)转载 2015-11-05 19:52:33 · 491 阅读 · 0 评论 -
redis 学习笔记(2)-client端示例代码
redis提供了几乎所有主流语言的client,java中主要使用二种:Jedis与Redisson一、Jedis的使用1 dependency>2 groupId>redis.clientsgroupId>3 artifactId>jedisartifactId>4 versio转载 2015-11-05 22:55:54 · 414 阅读 · 0 评论 -
redis 使用技巧
1.我在项目中使用redis不会缓存对象,而是存;因为频繁的序列化和反序列化会占用cpu,所以我们;2.KEY的设计就是字符串拼接的形式:;比如[user]::[id]::[act];3.redis缓存服务器笔记;redis是一个高性能的key-value存储系;但是由于他是一个内存内存系统,这些数据还是要存储;4.作为缓存框架:;create/updae因为频繁的转载 2015-11-03 19:00:19 · 1054 阅读 · 0 评论 -
Redis键值设计
丰富的数据结构使得redis的设计非常的有趣。不像关系型数据库那样,DEV和DBA需要深度沟通,review每行sql语句,也不像memcached那样,不需要DBA的参与。redis的DBA需要熟悉数据结构,并能了解使用场景。下面举一些常见适合kv数据库的例子来谈谈键值的设计,并与关系型数据库做一个对比,发现关系型的不足之处。用户登录系统记录用户登录信息的一个系统, 我们转载 2015-11-03 11:09:33 · 481 阅读 · 0 评论 -
redis 数据类型详解 以及 redis适用场景场合
目录1、显示最新的项目列表2、删除与过滤3、排行榜相关4、按照用户投票和时间排序5、处理过期项目6、计数7、特定时间内的特定项目8、实时分析正在发生的情况,用于数据统计与防止垃圾邮件等9、Pub/Sub10、队列11、缓存1. MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,转载 2015-11-03 10:57:53 · 386 阅读 · 0 评论 -
Jedis使用示例
Jedis 是 Redis 官方首选的 Java 客户端开发包。工作过程总结的一个示例,贴出来,如下:Java代码 package com.wujintao.redis; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.转载 2015-09-06 17:00:52 · 655 阅读 · 0 评论 -
redis读写性能测试
性能测试服务器性能存储 一、基础测试: redis读写性能测试redis官网测试读写能到10万左右,非常吸引人,我在研发环境对redis进行测试,发现redis的速度的确很快,此测试是为日后应用优化提供研发参考。由于受到网络环境的限制,本机是100M的网卡,最高10M/s的传输速度,所以当测试到每秒读取45000条时,测试机和测试服务器上传或者下载速度已经达到转载 2015-09-06 17:02:41 · 2479 阅读 · 0 评论