MyException - 我的异常网
当前位置:我的异常网» 数据库 » 一端坑进Redis之入门

一端坑进Redis之入门

www.MyException.Cn  网友分享于:2013-08-22  浏览:0次
一头坑进Redis之入门
1. 什么是Redis

Redis(REmote DIctionary Server,远程数据字典服务器)是开源的内存数据库,常用作缓存或者消息队列。

2. Redis中的数据结构

一 .字符串

(1)Redis存在于内存,使用硬盘作为持久化;每秒十万读写。
(2)具有丰富的数据结构,字符串、哈希表、列表、集合、有序集合;提供交集、并集、差集等操作。
(3)设置TTL存活时间,到期自动删除。
(4)Redis单线程、Memcached多线程;对于一般的应用场景,单线程也足够使用,优势还是在于多数据类型、持久化。
(5)可以将数据复制到任意数量的从服务器。
二 .哈希表

(1)HSET keyname key value 添加一个哈希属性和值
(2)HGET keyname key 获取值
(3)HKEYS keyname 获取全部的key值
(4)HVALS keyname 获取全部的value值
(5)HGETALL keyname 获取所有的值
三 .列表(通过双向链表实现,头尾操作均为O(1),获取指定元素比较慢)

(1)LPUSH keyname value1或者LPUSH keyname value1 value2 在左边插入
(2)RPUSH keyname value2 在右边插入
(3)LRANGE keyname 0 -1 查询所有的元素
(4)LPOP keyname
(5)RPOP keyname
四 .集合(元素唯一,但是没有顺序。使用值为空的哈希表实现,操作都是O(1)。)

元素唯一,但是没有顺序。使用值为空的哈希表实现,操作都是O(1)。
(1)SADD keyname value1 value2 添加值
(2)SREM keyname value1 删除
(3)SMEMBERS keyname查询所有元素
四 .有序集合(使用哈希和跳跃表实现,中间速度也很快。)

(1)ZADD keyname key value 添加
(2)ZRANGE keyname start end 获取指定范围的元素

与列表的比较:
相同:
(3)都是有序的
(4)都可以获取某一范围的元素
不同:
(5)列表通过双向链表实现,两端数据存取极快,中间缓慢
(6)有序集合通过哈希和跳跃表实现,中间速度也很快,为O(log(N))
(7)列表不能简单地调整某个元素的位置,有序集合可以
(8)有序集合比列表更好费内存
3. Redis持久化

redis提供了两种持久化方式:1 RDB快照方式 2 AOF方式

RDB方式:

满足一定条件时,会创建一个子进程,复制当前的数据,把数据写入到硬盘中某个文件,写入完成后替换原来的存储文件。数据一般存储在dump.rdb中。UNIX系统中支持写时复制,即刚开始会执行持久化写入磁盘的操作,如果此时有其他的数据发生改变,就复制一份数据执行。
除了这种自动的快照方式,还支持命令方式持久化:

SAVE:通过阻塞的方式,用父进程来持久化,此时无法执行其他的请求。
BGSAVE:通过fork子进程的方式,持久化。
AOF方式:

每次操作都会记录命令,这样会造成某些命令的冗余,比如添加了一个属性,再删除,那么这两个操作都是冗余的。redis提供了一些优化,所以可以避免这些冗余信息。命令记录在appendonly.aof中
4. Redis的消息队列

Redis用于消息队列,通常有两种种使用方式:

LIST:基于列表的方式,所有的消费者数据加起来是列表中的所有数据.





发布/订阅:每个消费者订阅独立的channel,每个数据都是独立的。

文章评论

10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
Java程序员必看电影
Java程序员必看电影
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
程序员的鄙视链
程序员的鄙视链
那些争议最大的编程观点
那些争议最大的编程观点
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
鲜为人知的编程真相
鲜为人知的编程真相
10个调试和排错的小建议
10个调试和排错的小建议
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
我的丈夫是个程序员
我的丈夫是个程序员
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
中美印日四国程序员比较
中美印日四国程序员比较
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
漫画:程序员的工作
漫画:程序员的工作
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
如何成为一名黑客
如何成为一名黑客
程序员都该阅读的书
程序员都该阅读的书
老程序员的下场
老程序员的下场
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
编程语言是女人
编程语言是女人
每天工作4小时的程序员
每天工作4小时的程序员
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
程序员必看的十大电影
程序员必看的十大电影
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
 程序员的样子
程序员的样子
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
总结2014中国互联网十大段子
总结2014中国互联网十大段子
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有