Redis开发 - 1. 认识redis

1. 什么是Redis?

Redis is a very fast non-relational database that stores a mapping of keys to five different types of values.

(Redis是一种速度非常快的非关系型数据库,NoSql的一种,它存储着以键值对为形式的数据,值的类型5种。)

Redis是Remote Dictionary Server(远程字典服务器)的缩写。

Redis supports in-memory persistent storage on disk, replication to scale read performance, and client-side sharding to scale write performance.

(Redis支持内存持久化到磁盘,以复制的形式来扩展读取的性能,以客户端碎片化(client-side sharding)的方式来扩展写的性能。)

Sharding is a method by which you partition your data into different pieces.

In this case, you partition your data based on IDs embedded in the keys, based on the hash of keys, or some combination of the two.

Through partitioning your data, you can store and fetch the data from multiple machines, which can allow a linear scaling in performance for certain problem domains.

(碎片化是一项技术,这项技术将你的数据分割成不同的部分。

这样一来,每个数据碎片将以ID作为它的键,根据哈希码的形式,这样就能把你的数据存储在不同的机器,然后以线性的方式对性能进行扩展。)

2. Redis支持的数据类型

字符串(String)

列表(List)

集合(Set)

散列(Hash)

有序集合(ZSet)

3. 存储形式

Redis数据库中所有数据都存储在内存中。

优势:由于内存的读写速度远快于硬盘,所以Redis在性能上比其他基于硬盘存储的数据库有明显优势。

eg:

在一台普通的PC上Redis可以每秒读写10万+个键值。

缺点:由于数据存储在内存中,程序退出后内存中的数据会丢失。

为了弥补这一缺点,Redis提供了持久化功能,用于将内存中的数据通过异步的方式写入到硬盘。

由于是异步的,因此不会影响其继续提供其他服务。

4. 应用场景

很多情况下,Redis被应用于缓存队列系统等。

当应用于缓存的场景,Redis为每个键值设置生存时间(TTL - Time to Live),生存时间到期后该键值

会自动被删除。

5. 安装Redis

Redis兼容大部分POSIX系统(Linux, OS X, BSD)

下载地址:

http://download.redis.io/

1) Linux下安装

首先下载安装包

tar xzf redis-stable.tar.gz

cd redis-stable

make (先编译源代码)

make test (测试源代码是否编译成功)

make install (安装程序)

安装程序实际过程是将可执行程序复制到/usr/local/bin目录,这样以后执行程序的时候不用输入完整的路径。

2) OS X下安装

OS X下通过软件包管理工具Homevrew进行。

a. 安装Homebrew

进入终端:

ruby -e"$(curl -fsSKL raw.github.com/mxcl/homebrew/go)"

b. 通过Homebrew安装Redis

brew install redis

c. 配置launchd让Redis岁系统自动运行

终端下输入以下命令:

ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

6. 启动Redis

1) 直接启动

$ redis-server

启动后Redis服务器默认使用6379端口

也可以自定义启动端口,如下:

$ redis-server --port 8918

2) 通过初始化脚本启动Redis

在生产环境中,我们推荐用该方法启动Redis(为了稳定)

a. 首先,进入Redis源码目录的utils目录

b. 找到叫redis_init_script的初始化脚本文件

c. 将初始化脚本复制到/etc/init.d目录并且重命名为redis_端口号

该端口号表示Redis将要监听的端口号

d. 修改脚本中REDISPORT变量的值为你设置的端口号

e. 建立需要的文件夹

/etc/redis           这里存放Redis的配置文件

/var/redis/端口号  这里存放Redis的持久化文件

f. 修改配置文件

网上下载文件模板,将它复制到/etc/redis目录

将该文件命名为端口号.conf

然后按照如下信息对配置文件中的部分参数进行配置

daemonize   yes                                       使Redis以守护进程的模式运行

pidfile         /var/run/redis_端口号.pid         这是Redis的PID文件位置

port           端口号                                    设置Redis监听的端口号

dir             /var/redis/端口号                      设置持久化文件存放位置

g. 使用如下命令启动Redis

/etc/init.d/redis_端口号 start

h. 使Redis随系统自动启动

$ sudo update-rc.d redis_端口号 defaults

7. 停止Redis

$ redis-cli shutdown

时间: 2024-08-24 06:32:02

Redis开发 - 1. 认识redis的相关文章

ASP.NET Redis 开发

Redis简介 Redis是一个开源的,使用C语言编写,面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景.Redis纯粹为应用而产生,它是一个高性能的key-value数据库,并且提供了多种语言的API 性能测试结果表示SET操作每秒钟可达110000次,GET操作每秒81000次(当然不同的服务器配置性能不同). redis目前提供五种数据类型:string(字符串),list(链表), Hash(哈希),set(集合)及zset(sorted

第九章 企业项目开发--分布式缓存Redis(1)

注意:本章代码将会建立在上一章的代码基础上,上一章链接<第八章 企业项目开发--分布式缓存memcached> 1.为什么用Redis 1.1.为什么用分布式缓存(或者说本地缓存存在的问题)? 见<第八章 企业项目开发--分布式缓存memcached> 1.2.有了memcached,为什么还要用redis? 见<第一章 常用的缓存技术> 2.代码实现 2.1.ssmm0 pom.xml 只在dev环境下添加了以下代码: <!-- redis:多台服务器支架用什么

ASP.NET Redis 开发 入门

ASP.NET Redis 开发 文件并发(日志处理)--队列--Redis+Log4Net Redis简介 Redis是一个开源的,使用C语言编写,面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景.Redis纯粹为应用而产生,它是一个高性能的key-value数据库,并且提供了多种语言的API 性能测试结果表示SET操作每秒钟可达110000次,GET操作每秒81000次(当然不同的服务器配置性能不同). redis目前提供五种数据类型:str

企业项目开发--分布式缓存Redis

第九章 企业项目开发--分布式缓存Redis(1) 注意:本章代码将会建立在上一章的代码基础上,上一章链接<第八章 企业项目开发--分布式缓存memcached> 1.为什么用Redis 1.1.为什么用分布式缓存(或者说本地缓存存在的问题)? 见<第八章 企业项目开发--分布式缓存memcached> 1.2.有了memcached,为什么还要用redis? 见<第一章 常用的缓存技术> 2.代码实现 2.1.ssmm0 pom.xml 只在dev环境下添加了以下代码

ASP.NET Redis 开发 [转]

Redis简介 Redis是一个开源的,使用C语言编写,面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景.Redis纯粹为应用而产生,它是一个高性能的key-value数据库,并且提供了多种语言的API 性能测试结果表示SET操作每秒钟可达110000次,GET操作每秒81000次(当然不同的服务器配置性能不同). redis目前提供五种数据类型:string(字符串),list(链表), Hash(哈希),set(集合)及zset(sorted

第十章 企业项目开发--分布式缓存Redis(2)

注意:本章代码是在上一章的基础上进行添加修改,上一章链接<第九章 企业项目开发--分布式缓存Redis(1)> 上一章说了ShardedJedisPool的创建过程,以及redis五种数据结构的第一种String类型的常用缓存操作方法.下面说余下的四种: list(有序列表) set(无序集合) sorted set(有序集合) hash 1.ssmm0-cache 1.1.RedisListUtil(有序列表工具类) 1 package com.xxx.cache.redis; 2 3 im

Windows PHP 环境下 Redis开发环境搭建

1.redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hashs(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redi

Redis开发与运维 (数据库技术丛书) PDF 下载,深度剖析Hadoop HDFS PDF 下载

1.Redis开发与运维 (数据库技术丛书) PDF 下载 2.深度剖析Hadoop HDFS (大数据技术丛书) PDF 下载 关注微信公众号:职业开发者之路,百度云免费 下载 PDF 电子书籍,或直接访问:问风网:askwinds.com请添加链接描述,免费资源下载模块下载,问风@程序员部落,更多资源分享等你获取关注微信公众号:职业开发者之路,?更多免费资源分享 原文地址:http://blog.51cto.com/2058005/2350798

《Redis开发与运维》

第1章 初识Redis 1. Redis介绍: Redis是一种基于键值对(key-value)的NoSQL数据库. 与很多键值对数据库不同的是,Redis中的值可以是由string(字符串).hash(哈希).list(列表).set(集合).zset(有序集合)等多种数据结构和算法组成,因此Redis可以满足很多的应用场景. 而且因为Redis会将所有数据都存放在内存中,所以它的读写性能非常惊人. 不仅如此,Redis还可以将内存的数据利用快照(RDB)和日志(AOF)的形式保存到硬盘上,这