redis(一)--概述
来源:互联网 发布:js aaencode 编辑:程序博客网 时间:2024/06/06 11:41
一.概述
1.redis是一个key-value存储系统,和memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set有序集合)和hash(哈希类型)。这些数据类型都支持push/pop,add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。再次基础上,redis支持各种不同方式的排序,与memcached一样,为了保证效率,数据都是缓存的内存中,区别的是redis会周期性地把数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现master-slave(主从)同步。
2.Redis 由四个可执行文件:redis-benchmark、redis-cli、redis-server、redis-stat 这四个文件,加上一个redis.conf就构成了整个redis的最终可用包。它们的作用如下:
1)redis-server:Redis服务器的daemon启动程序;
2)redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作;
3)redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能;
4)redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况。
3.redis目前提供四种数据类型:string,list,set及zset(sorted set)和Hash。
1)string是最简单的类型,你可以理解成与Memcached一模一个的类型,一个key对应一个value,其上支持的操作与Memcached的操作类似。但它的功能更丰富;
2)list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等。操作中key理解为链表的名字;
3)set是集合,和我们数学中的集合概念相似,对集合的操作有添加删除元素,有对多个集合求交并差等操作。操作中key理解为集合的名字;
4)zset是set的一个升级版本,他在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以理解了有两列的mysql表,一列存value,一列存顺序。操作中key理解为zset的名字;
Hash数据类型允许用户用Redis存储对象类型,Hash数据类型的一个重要优点是,当你存储的数据对象只有很少几个key值时,数据存储的内存消耗会很小;
更多关于Hash数据类型的说明请见: http://code.google.com/p/redis/wiki/Hashes
二.安装
1.下载安装包:
https://github.com/antirez/redis/archive/2.8.19.tar.gz
2.解压:
tar -zxvf redis-3.0.4.tar.gz
3.make
4.make install
5.配置文件:./redis/redis.conf
三.与memcached比较
1. Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储;
2. Redis支持数据的备份,即master-slave模式的数据备份;
3. Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
参考:
http://baike.baidu.com/link?url=K23DpOw3dRExVAWASI3l5IhGoXc3qet6qEHcnqfSt7jkhB3NFkaLmm8n9bT8n-b7SKXXZaNwgY1poiDiGtXGnq
http://www.cnblogs.com/shanyou/archive/2012/01/28/2330451.html
- redis(一)--概述
- redis详解(一)-- 概述
- Redis学习(一)概述
- redis详解(一) 概述
- redis详解(一)-- 概述
- Redis简介(一)概述
- Redis源码分析(一):aeMain()函数概述
- Redis 概述(笔记)
- Redis(1)- Redis概述和安装
- Redis 入门概述(续)
- Redis概述
- redis 概述
- Redis概述
- Redis 概述
- redis 概述
- JDBC 概述(一)
- JDBC 概述(一)
- JDBC 概述(一)
- Linux基本命令大全
- 3D四元数与欧拉角的转换
- SMTP errors and reply codes
- 浅析sstream库
- IOS下WEB开发细节问题
- redis(一)--概述
- iOS---面试题汇总
- C++ time_t与string之间转换的工具类
- iOS 9官方文档(翻译)
- [Java]剑走偏锋的10条编程技巧
- opencv第七章-直方图与匹配(2)
- Linux伙伴系统(一)--伙伴系统的概述
- ios5的safari浏览器的电话号码识别功能的禁用
- javascript document.write()覆盖原文档的问题