您的位置:首页 > 数据库 > Redis

(Ryan的Redis系列博客)2.Redis简介

2017-02-14 15:11 246 查看

前言

本文的内容主要来源于Redis官网文章:《Introduction to Redis》,我做的工作是对该文进行翻译和扩展。可能有朋友要问了,“Redis中国已经做了相同的事情,你为什么还要翻译呢?”这个问题很好解答,我虽然做的也是翻译,但是,我的翻译并非直译,我会在保留原意的基础上力求把语句翻译的通俗易懂。并且,我还扩展周边的知识点,确保让Redis零基础的技术人也可以读懂整套文章。因为,本文并非直译,因此文章的结构会与原文不同,请各位读者不要在意。

Redis是什么



Redis是一个基于BSD的内存型数据结构存储工具,可作为数据库,缓存和消息代理。Redis支持字符串、散列、列表、集合、有序集合与范围查询、bitmap(?比特集)、hyperloglogs(?高速日志)和 geospatial indexes with radius queries.(?地理信息索引)。Redis内置了复制,Lua,LRU事件驱动,事务和不同级别的磁盘持久化,并通过哨兵和自动分区提供高可用。

Redis的原子操作简介

Redis是可以进行原子操作的,原子操作的种类很多,此处结合官网列出如下例子:

1.添加字符串

2.递增哈希的值

3.为列表添加一个元素

4.计算集合增长、并集、差集

5.在有序集合里面获取成员的最高排名

Redis的主要工作方式

为了实现卓越的性能, Redis采用运行在内存中的数据集工作方式。根据用户的使用场景,可以每隔一定时间将数据集转入到磁盘,或者追加到命令日志中。另外,可以关闭持久化功能,将Redis作为一个性能优越的网络缓存使用。

Redis 同样支持异步主从复制(能自动重连和网络断开时自动重新同步),并且第一次同步是快速的非阻塞同步。

Redis的其他特性

1.事务

2.订阅/分发

3.Lua

4.键的时间期限

5.键的回收

6.自动故障容错

本套文章的开发语言选择

1.Node:项目开发,我会开发一个机器学习的工具

2.ANSI C:阅读Redis源码

3.Java:扩展学习

注意:Redis可以支持上百种不同的语言和支持库,本套文章,只做简单介绍。

Redis的系统选择

Redis是工作在POSIX系统上的(Linux、*BSD、无对外依赖的OS X)。Redis在Linux 和 OS X上已经进行了大量的开发、测试,但是,更推荐使用Linux进行部署。 另外,Redis开发组也做出了很大的努力,保障Redis可以工作在 如SmartOS这样的Solaris衍生系统上。目前,官方不支持Windos版本的Redis,但微软开发和维护着支持win-64 的Redis版本。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis