admin管理员组文章数量:1794759
redis(3):安装
安装Redis是开始Redis学习之旅的第一步;Redis约定次版本号(即第一个小数点后的数字)为偶数的版本是稳定版(如2.8版、3.0版),奇数版本是非稳定版(如2.7版、2.9版),生产环境下一般需要使用稳定版本。
一、安装 1.在OS X下安装
OS X下有2中安装方式,homebrew和直接自己编译
1.homebrew安装redis >brew search redis //搜索可以用的redis >brew install redis // 默认安装最新的redis,也可以指定redis版本 >vim ~/.bash_profile // 配置redis环境 给加入.bash_profile最后加入下面一行, # redis环境变量 export PATH=$PATH:/usr/local/opt/redis/bin 保存.bash_profile, >source ~/.bash_profile // 使配置生效2、自己直接编译安装(和linux下安装redis类似)
下载
www.redis/download.html //redis中文社区,下载会快点 redis.io/download//redis 管网,下载慢,但是最新版本在官网上
下载后解压文件,将文件夹复制到/usr/local/
$ cd redis-xxx // 进入redis目录 $ make // 编译redis(redis使用c语言开发的,所以make工具进行编译) $ sudo make install // 安装redis 2. 在win下安装Redis官方不支持Windows。2011年微软[1] 向Redis提交了一个补丁,以使Redis可以在 Windows下编译运行,但被Salvatore Sanfilippo拒绝了,原因是在服务器领域上Linux已经得 到了广泛的使用,让Redis能在Windows下运行相比而言显得不那么重要。并且Redis使用了如 写时复制等很多操作系统相关的特性,兼容 Windows 会耗费太大的精力而影响Redis其他功 能的开发。尽管如此微软还是发布了一个可以在Windows运行的Redis分支[2] ,而且更新相 当频繁,截止到本书交稿时,
下载地址
github/tporadowski/redis/releasesRedis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,下载 Redis-x64-xxx.zip压缩包,解压后相当于安装完成。 解压后文件如下:
二、启动和停止
redis可执行文件说明(如果是自己编译安装的,这些程序会被复制到/usr/local/bin 目录内)
redis-server | redis服务器 |
redis-cli | redis命令行客户端 |
redis-benchmark | redis性能测试工具 |
redis-check-aof | AOF文件修复工具 |
redis-check-dump | RDB文件检查工具 |
redis-sentinel | Sentinel哨兵服务器 |
考虑到 Redis 有可能正在将内存中的数据同步到硬盘中,强行终止 Redis 进程可能会导 致数据丢失。
正确停止Redis的方式应该是向Redis发送SHUTDOWN命令,方法为: $ redis-cli SHUTDOWN当Redis收到SHUTDOWN命令后,会先断开所有客户端连接,然后根据配置执行持久化,最后完成退出。 Redis可以妥善处理 SIGTERM信号,所以使用 kill Redis 进程的 PID也可以正常结束 Redis,效果与发送SHUTDOWN命令一样。
三、命令行客户端 1.发送命令
四、配置
上面通过 redis-server 的启动参数 port 设置了 Redis 的端口号,除此之外Redis 还支持其他配置选项,如是否开启持久化、日志级别等。
由于可以配置的选项较多,通过启动参数设置这些选项并不方便,所以 Redis 支持通过配置文件来设置这些选项。启用配置文件的方法是在启动时将配置文件的路径作为启动参数传递给redis-server,如: $ redis-server /path/to/redis.conf //通过启动参数传递同名的配置选项会覆盖配置文件中相应的参数,就像这样: $ redis-server /path/to/redis.conf --loglevel warning
Redis提供了一个配置文件的模板redis.conf,位于源代码目录的根目录中。 除此之外还可以在Redis 运行时通过 CONFIG SET 命令在不重新启动Redis 的情况下动态修改部分Redis配置。就像这样: redis> CONFIG SET loglevel warning OK 并不是所有的配置都可以使用 CONFIG SET命令修改, 同样在运行的时候也可以使用 CONFIG GET 命令获得Redis 当前的配置情况, 如: redis> CONFIG GET loglevel
五、多数据库
Redis是一个字典结构的存储服务器,而实际上一个Redis实例提供了多个用 来存储数据的字典,客户端可以指定将数据存储在哪个字典中。这与我们熟知的在一个关系 数据库实例中可以创建多个数据库类似,所以可以将其中的每个字典都理解成一个独立的数据库。
每个数据库对外都是以一个从0开始的递增数字命名,Redis默认支持16个数据库,可以通过配置参数databases来修改这一数字。客户端与Redis建立连接后会自动选择0号数据库, 不过可以随时使用SELECT命令更换数据库,如要选择1号数据库:
redis> SELECT 1 OK redis [1]> GET foo (nil)然而这些以数字命名的数据库又与我们理解的数据库有所区别。
- 首先 Redis 不支持自定义数据库的名字,每个数据库都以编号命名,开发者必须自己记录哪些数据库存储了哪些数 据。
- 另外Redis 也不支持为每个数据库设置不同的访问密码,所以一个客户端要么可以访问 全部数据库,要么连一个数据库也没有权限访问。
- 最重要的一点是多个数据库之间并不是完全隔离的,比如FLUSHALL命令可以清空一个Redis实例中所有数据库中的数据。
综上所述, 这些数据库更像是一种命名空间,而不适宜存储不同应用程序的数据。比如可以使用0号数 据库存储某个应用生产环境中的数据,使用1号数据库存储测试环境中的数据,但不适宜使 用0号数据库存储A应用的数据而使用1号数据库存储B应用的数据,不同的应用应该使用不同 的Redis实例存储数据。由于Redis非常轻量级,一个空Redis实例占用的内存只有1MB左右, 所以不用担心多个Redis实例会额外占用很多内存。
本文标签: Redis
版权声明:本文标题:redis(3):安装 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686990246a126108.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论