Redis研究(二)—准备

 一.安装Redis

安装Redis请看这里:http://blog.csdn.net/wtyvhreal/article/details/40980167

二.启动和停止Redis

Redis可执行文件说明:

redis-server             Redis服务器

redis-cli                    Redis命令行客户端

redis-benchmark   Redis性能测试工具

redis-check-aof      AOF文件修复工具

redis-check-dump RDB文件检查工具

启动Redis有直接启动和通过初始化脚本启动两种方式,分别适用于开发环境和生产环境。

2.1 直接启动

开发环境中推荐使用此方法运行。

redis-server

服务器默认使用6379端口(6379手机键盘上MERZ对应的数字,MERZ是一名意大利歌女的名字),通过--port参数可以自定义端口号

redis-server --port 6380

2.2 通过初始化脚本启动Redis

在linux系统中可以通过初始化脚本启动Redis,使得Redis能随着系统自动运行,在生产环境中推荐使用此方法运行(学生练习一般不用)。

我们需要配置Redis的运行方式和持久化文件,日志文件的存储位置等,具体步骤:

(1)配置初始化脚本:

在Redis源代码目录中的utils文件中有个名为redis_init_script的初始化脚本文件,首先将这个文件复制到/etc/init.d目录中,文件名redis_端口号,客户端通过该端口号连接Redis,然后修改脚本文件第6行的REDISPORT变量的值为同样的端口号。

(2)建立需要的文件夹:

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

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

(3)修改配置文件:

将配置文件复制到/etc/redis目录中,以端口号命名(6379.conf),然后按照下面对其中的部分参数进行编辑

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

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

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

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

现在可以使用下面命令来启动Redis了,

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

然后需要执行下面使Redis随系统自动启动

sudo update-rc.d redis_端口号 defaults

2.3 停止Redis

停止Redis时有可能正在将内存中的数据同步到硬盘中,强行终止 Redis进程可能导致数据丢失。正确停止方式是向Redis发送SHUTDOWN命令。Redis收到SHUTDOWN命令后,会先断开所有客户端连接,然后根据配置执行持久化,最后完成退出。

redis-cli SHUTDOWN

Redis可以处理SIGTERM信号,所以使用kill Redis 进程的PID 也可以正常技术Redis,效果与发送SHUTDOWN命令一样。

三.Redis命令行客户端

3.1 发送命令

(1)第一种方式,将命令作为redis-cli的参数执行

redis-cli -h 127.0.0.1 -p 6379

通过-h和-p参数可以自定义地址和端口号

(2)第二种方式,不带参数运行redis-cli,会进入交互模式,可以自由输入命令

3.2命令返回值

1.状态回复

直接显示状态信息

2.错误回复

错误回复以(error)开头,并在后面加上错误信息

3.整数回复

以integer开始,并在后面跟上整数数据

4.字符串回复

bulk reply请求键值时就可以得到一个字符串回复

5.多行字符串回复

四.Redis多数据库

Redis中每个数据库对外都是一个从0开始的递增数字命名,Redis默认支持16个数据库,可以通过配置参数databases来修改这一数字。客户端与Redis建立连接后会自动选择0号数据库,不过可以随时使用SELECT命令更换数据库。

Redis不支持为每个数据量库设置不同的访问密码,所以一个客户端要么可以访问全部数据库,要么连一个数据库也没有权限访问。最重要的一点是多个数据库之间并不是完全隔离的,比如说FLUSHALL命令可以清空一个Redis实例中所有数据库中的数据。

所以这些数据库更像是一种命令空间,而不适宜存储不同应用程序的数据。

不同的应用应该使用不同的Redis实例存储数据。

由于Redis非常轻量级,一个空Redis实例占用的内存只有1MB左右,所以不用担心多个Redis实例会额外占用很多内存。

时间: 2024-10-20 12:51:05

Redis研究(二)—准备的相关文章

redis安装二

redis安装二 redis-2.8.19 建立目录 mkdir redis_7000 解压缩到目录redis_7000, tar -xzvf redis-2.8.19 -C redis_7000 进入目录redis_7000/redis-2.8.19,把当前目录下的所有文件以及子目录移动到当前目录的父目录,cp * ../ 删除redis-2.8.19目录,rm -rf redis-2.8.19. 回到目录redis_7000,执行make,此时,在当前目录的src目录总多了redis-ser

C++的开源跨平台日志库glog学习研究(二)--宏的使用

上一篇从整个工程上简单分析了glog,请看C++的开源跨平台日志库glog学习研究(一),这一篇对glog的实现代码入手,比如在其源码中以宏的使用最为广泛,接下来就先对各种宏的使用做一简单分析. 1. 日志输出宏 这里我们以一条最简单的日至输出为例说明: LOG(WARNING) << "This is a warning message"; 这里LOG是一个宏,其定义如下(logging.h line 487): #define LOG(severity) COMPACT

redis(二)高级用法

redis(二)高级用法 事务 redis的事务是一组命令的集合.事务同命令一样都是redis的最小执行单元,一个事务中的命令要么执行要么都不执行. 首先需要multi命令来开始事务,用exec命令来执行事务. 127.0.0.1:6379> multi OK 127.0.0.1:6379> hset user:1 name xiaoming QUEUED 127.0.0.1:6379> hset user:1 name daxiong QUEUED 127.0.0.1:6379>

(转载)Fiddler实战深入研究(二)

原文来源于:http://www.cnblogs.com/tugenhua0707/p/4637771.html,作者:涂根华 !个人觉得文章写的特别好,故收藏于此,感谢原作者的分享 Fiddler实战深入研究(二) 阅读目录 Fiddler不能捕获chrome的session的设置 理解数据包统计 请求重定向(AutoResponder) Composer选项卡 Filters选项卡断点调式 Fiddler 中的Stave插件 回到顶部 Fiddler不能捕获chrome的session的设置

智力题研究二

[IT思想类] 1. 有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出那瓶水有毒?(中级) 2. 共有三类药,分别重1g,2g,3g,放到若干个瓶子中,现在能确定每个瓶子中只有其中一种药,且每瓶中的药片足够多,能只称一次就知道各个瓶子中都是盛的哪类药吗? 如果有4类药呢?5类呢?N类呢(N可数)?(高级) 如果是共有m个瓶子盛着n类药呢(m,n为正整数,药的质量各不相同但各种药的质量已知)?你能只称一次就知道每瓶的药是什么吗?

Redis学习二

Redis学习二 标签(空格分隔): Redis 一,link 链表结构 1,lpush key value (rpush插入到链表尾部) 作用: 把值插入到链接头部 2,rpop key(lpop key 返回并删除链表的头元素) 作用: 返回并删除链表尾元素 3,lrange key start stop 作用: 返回链表中[start ,stop]中的元素 规律: 左数从0开始,右数从-1开始 lrange link 0 2 lrange link 0 -1 4,lrem key coun

C#中使用Redis学习二 .NET4.5中使用redis hash操作

上一篇>> 摘要 上一篇讲述了安装redis客户端和服务器端,也大体地介绍了一下redis.本篇着重讲解.NET4.0 和 .NET4.5中如何使用redis和C# redis操作哈希表.并且会将封装的一些代码贴一下.在讲解的过程中,我打算结合redis操作命令一起叙述,算是作为对比吧.这样也能让读者清楚了解,所分装的代码对应的redis的哪一些操作命令. hash哈希表简介 如何在.NET4.0/4.5中安装redis组件? 在上一篇博文中,安装好的redis服务器端,要记得开启服务.然后再

细说Redis(二)之 Redis的持久化

原文:细说Redis(二)之 Redis的持久化 前言 在上一篇文章[细说Redis(一)之 Redis的数据结构与应用场景]中,主要介绍了Reids的数据结构. 对于redis的执行命令,这里不做介绍,因为网上搜索一堆,无必要再做介绍. AOF&RDB Redis的有两种持久化,分别是AOF.RDB. AOF是文件增量存储.RDB是文件快照.AOF是存储的是redis的每个步骤增删改的命令. 区别 在Redis内部机制来说,RDB模式首先产生一个子进程,调用fork().然后用子线程写到一个临

redis入门(二)

目录 redis入门(二) 前言 持久化 RDB AOF 持久化文件加载 高可用 哨兵 流程 安装部署 配置技巧 集群 原理 集群搭建 参考文档 redis入门(二) 前言 在redis入门(一)简单介绍了redis的历史和安装部署,以及基本的数据结构和api,本节讲解redis持久化.高可用.redis集群和分布式相关的知识. 持久化 redis作为内存数据库,数据全部存储到内存中.但是若出现断电等原因会造成数据丢失.redis内置了2种持久化的方式,分别为RDB持久化和AOF持久化. RDB