阅读更多

4顶
1踩

研发管理

转载新闻 Hello,Redis

2010-04-02 16:33 by 主编 ITeye管理员 评论(3) 有6234人浏览

NoSQL正试图打破关系数据型数据库一统天下的局面。Redis也是NoSQL的一种尝试。Redis是什么?其网站上如是说:
  A persistent key-value database with built-in net interface written in ANSI-C for Posix systems

Redis最值得拿出来说事的优点就是“快”!Github就用了Redis为自己加速

我们选择下载稳定的发布版:
  http://code.google.com/p/redis/downloads/list
也可以直接获取源码:
  http://github.com/antirez/redis

现在的redis与一般的C开源项目相比,非常简单,只有很少的一些文件。它的构建过程也不像其它的项目那些,需要先配置再构建。它只有一个简单的makefile,构建它,只要make一下即可。当然,正如其声称的那样,目前redis只是为Posix系统而打造,所以,如果想在Windows上构建,也许Cygwin是个选择。

先来做一下简单的体验,启动redis的服务器端:
  > ./redis-server

redis本身还附带了一个命令行的客户端,用它就可以对redis本身进行测试:
  > ./redis-cli set key value
  OK
  > ./redis-cli get key
  value

在上面的这个会话里面,我们通过设置的一个键值对(key和value),然后,用键值取回其对应的值,非常简单。除了最简单的键值对,Redis还支持list、set和有序的set。下面的会话是对list的操作:
  > ./redis-cli lpush list 1
  OK
  > ./redis-cli lpush list 2
  OK
  > ./redis-cli lrange list 0 -1
  1. 2
  2. 1
  > ./redis-cli rpush list 3
  OK
  > ./redis-cli lrange list 0 -1
  1. 2
  2. 1
  3. 3
这里的lpush命令在list的头部添加元素,rpush命令在list的尾部添加元素,而lrange用来查询list里面的元素。

上面我们用的命令行对Redis进行操作,实际上,Redis本身就是具备网络接口的数据库,它有着自己的协议,一种简单的文本协议。这个协议本身并不复杂,只要实现了这个协议就可以与Redis进行互联互通了,所以,Redis有着不同语言的客户端实现,而上面用到的命令行也是用同样的协议实现的。

通过以最普通的telnet直连Redis,我们稍微了解一下这个协议。
  > telnet localhost 6379
这里的6379是Redis的缺省端口,下面是一段简单的会话:
  SET key 5
  value
  +OK
  GET key
  $5
  value
  QUIT
这段会话等同上面命令行的第一段会话。SET是命令字,key是键值,5是随后值的长度,value就是值的内容,这就是我们发送的内容,+OK是服务器端给出的应答,告诉我们操作成功。然后,我们获取key对应的值,GET是命令字,key是键值,之后是服务器给出的应答,$5是值的长度,value是值的内容。最后的QUIT是断开连接的命令字。

如此简单的Redis,不妨把它当做了解NoSQL的起步台阶。

4
1
评论 共 3 条 请登录后发表评论
3 楼 rails2010 2010-08-06 11:47
flyinweb 写道
redis作者被vmware公司雇佣这个很重要。

+1
VMWARE把spring收购了这个也很重要
2 楼 wolf_19 2010-04-04 00:28
这个好像是的dreamhead写的吧!
这个是文章地址:http://dreamhead.blogbus.com/logs/61443218.html
1 楼 flyinweb 2010-04-02 19:40
redis作者被vmware公司雇佣这个很重要。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • hello-redis:使用Redis缓存数据的Express应用程序

    你好Redis示例 一个快速的应用程序演示了如何将Redis用于缓存数据,以便可以立即满足经常性请求。 要求 节点> = 8.x 雷迪斯 设置和运行 克隆此仓库。 使用npm install安装所有节点依赖项。 确保您的本地redis...

  • Hello Redis

    Hello Redis 工作中很多项目涉及到Redis,由于我不是做开发的,一直不甚理解,只知道可以用于做消息队列,可以用于做数据缓存的,也可以是内存数据库,好神奇的东西。 官网说明:Redis is an open source, BSD ...

  • Redis_helloworld

    使用redis 做缓存,模拟用户登录功能、

  • helloworld -连接redis 数据库

    使用java 客户端连接redis 服务器,并通过java 客户端操作redis数据库代码

  • Redis Cluster:从数据分布到故障转移的全方位解读

    总结Redis Cluster原理+基本使用+运维注意事项

  • aws-redis-elasticache-hello

    aws-redis-elasticache-hello

  • Windows 安装Redis(图文详解)

    Remote Dictionary Server(Redis) 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API,是跨平台的非关系型数据库。...

  • Redis学习二之helloworld

    redis的helloworld

  • SpringBoot集成redis

    今天,日月在这里教大家如何使用springBoot集成redis,说实话比较简单,网上也有大把的教程。先套用一下网上的简介。 定义 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 ...

  • Redis学习(linux)

    Redis的安装分为windows版和linux版。

  • 【SpringBoot】36、SpringBoot整合Redis实现发布/订阅

    2、说明 本篇文章是继: 【SpringBoot】三十四、SpringBoot整合Redis实现序列化存储Java对象 以及 【SpringBoot】三十五、SpringBoot整合Redis监听Key过期事件 其中涉及到的知识及代码,本篇文章不再进行赘述 二、...

  • redis杂谈

    本篇博客是redis相关使用和问题的汇总,有缓存穿透、缓存雪崩、redis的使用场景、分布式锁、队列、事务、lua脚本相关的java实现,希望能给读者学习redis提供帮助

  • redis的五种数据类型

    (1)Redis(Remote Dictionary Server 远程字段服务)是一个开源的使用ANSI C语言编写、支持网络、科技与内存亦可持久化的日志型、key-value数据库,并提供多种语言的API。(2)Redis是一个key-value存储系统,它...

  • 【Redis】Redis中使用Lua脚本

    ='bar' table['hello']='world' return cjson.encode(table)" 0 "{\"hello\":\"world\",\"foo\":\"bar\"}" 沙箱(sandbox)和最大执行时间 脚本应该仅仅用于传递参数和对Redis数据进行处理,它不应该尝试去访问外部...

  • Redis-6.2源码调试

    使用VsCode工具调试Redis-6.2的代码。代码已经编译完成,可以用VSCode打开后直接调试。需要VSCode安装C\C++的插件。

  • Redis 详解

    Redis redis 简介 redis 采用的是单线程的 KV 模型,由 C 语言编写, 1. Redis 中的事务? 2. Redis 中的数据结构 3. Redis 中如何保证缓存和数据库双写时的数据一致性? 4. 如何使用 Redis 做异步队列和延时队列? ...

  • SpringData整合Redis

    一 SpringData-Redis 我们使用redis解决过期优惠券和红包等问题,并且在java环境中使用redis的消息通知。目前世面比较流行的java代码操作redis的AIP有:Jedis和RedisTemplate Jedis是Redis官方推出的一款面向Java的...

  • redis 3.2.1 免费下载

    测试命令set hello world get hello 至此redis安装 并且操作成功。 /*******start 脚本*************/ redis的启动脚本在utils中为redis_init_script 其中需要变更下conf的文件路径才能正常使用 阅读全文

  • Redis集群详解

    在了解Redis集群之前尽量先了解清楚Redis的主从复制和哨兵机制。读写分离,性能扩展,降低主服务器的压力容灾,快速恢复,主机挂掉时,从机变为主机Redis 主从模式不具备自动容错和恢复功能,如果主节点宕机,Redis ...

  • J2SE1.5便于开发的新语言特性: Joshua Bloch的访谈录(1)

    J2SE1.5便于开发的新语言特性:Joshua Bloch的访谈录原文http://java.sun.com/features/2003/05/bloch_qa.htmlby Janice J. HeissMay 8, 2003随着预期Java 2 Platform, Standard Edition 1.5 (J2SE 1.5) beta版本在2003年晚一些时候的发布(众所周知的Ti

Global site tag (gtag.js) - Google Analytics