Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。
Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。
I.快速运行Redis
一、下载安装
进入redis.io官方网站:
- $ wget http://redis.googlecode.com/files/redis-2.4.15.tar.gz
- $ tar xzf redis-2.4.5.tar.gz //这里假设解压缩到/usr/local/redis
- $ cd redis-2.4.5
- $ make
- $ make install
- $ cd utils
- $./install_server
$ wget http://redis.googlecode.com/files/redis-2.4.15.tar.gz $ tar xzf redis-2.4.5.tar.gz //这里假设解压缩到/usr/local/redis $ cd redis-2.4.5 $ make $ make install $ cd utils $./install_server
就会自动安装到/usr/local/bin目录下。在该目录下生成几个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-stat、redis-check-aof,它们的作用如下:
redis-server:Redis服务器的daemon启动程序
redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作
redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况
redis-check-aof:
二.启动服务器
安装时的最后一步install_server脚本会生成启动命令文件(试试就知道),下面就是一个执行例子
- Welcome to the redis service installer
- This script will help you easily set up a running redis server
- Please select the redis port for this instance: [6379]
- Selecting default: 6379
- Please select the redis config file name [/etc/redis/6379.conf]
- Selected default - /etc/redis/6379.conf
- Please select the redis log file name [/var/log/redis_6379.log]
- Selected default - /var/log/redis_6379.log
- Please select the data directory for this instance [/var/lib/redis/6379]
- Selected default - /var/lib/redis/6379
- Please select the redis executable path [/usr/local/bin/redis-server]
- Copied /tmp/6379.conf => /etc/init.d/redis_6379
- Installing service...
- Successfully added to chkconfig!
- Successfully added to runlevels 345!
- Starting Redis server...
- Installation successful!
Welcome to the redis service installer This script will help you easily set up a running redis server Please select the redis port for this instance: [6379] Selecting default: 6379 Please select the redis config file name [/etc/redis/6379.conf] Selected default - /etc/redis/6379.conf Please select the redis log file name [/var/log/redis_6379.log] Selected default - /var/log/redis_6379.log Please select the data directory for this instance [/var/lib/redis/6379] Selected default - /var/lib/redis/6379 Please select the redis executable path [/usr/local/bin/redis-server] Copied /tmp/6379.conf => /etc/init.d/redis_6379 Installing service... Successfully added to chkconfig! Successfully added to runlevels 345! Starting Redis server... Installation successful!
/etc/init.d/redis_6379 start
将启动服务到默认端口6379
三.客户端访问
- $ redis-cli
- redis> set foo bar
- OK
- redis> get foo
- "bar"
$ redis-cli redis> set foo bar OK redis> get foo "bar"
四.关闭服务器
- $ /etc/init.d/redis_6379 stop
$ /etc/init.d/redis_6379 stop
以上摘官方文档http://redis.io/download。如果想使用Windows版的Redis请去http://code.google.com/p/servicestack/wiki/RedisWindowsDownload下载(其版本滞后于官方版本,不建议在生产环境使用Win32.)。
II. 定制服务器启动参数
在我们成功安装Redis后,我们直接执行redis-server即可运行Redis,此时它是按照默认配置来运行的(默认配置甚至不是后台运行)。我们希望Redis按我们的要求运行,则我们需要修改配置文件(在redis解压缩目录下有一个redis.con可以作为范本),下面是redis.conf的主要配置参数的意义:
pidfile:pid文件位置
port:监听的端口号
timeout:请求超时时间
loglevel:log信息级别
logfile:log文件位置
databases:开启数据库的数量
save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
rdbcompression:是否使用压缩
dbfilename:数据快照文件名(只是文件名,不包括目录)
dir:数据快照的保存目录(这个是目录)
appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
下面是一个略做修改后的配置文件内容:
- daemonize yes
- pidfile /usr/local/redis/var/redis.pid
- port 6000
- timeout 300
- loglevel debug
- logfile /usr/local/redis/var/redis.log
- databases 16
- save 900 1
- save 300 10
- save 60 10000
- rdbcompression yes
- dbfilename dump.rdb
- dir /usr/local/redis/var/
- appendonly no
- appendfsync always
- glueoutputbuf yes
- shareobjects no
- shareobjectspoolsize 1024
daemonize yes pidfile /usr/local/redis/var/redis.pid port 6000 timeout 300 loglevel debug logfile /usr/local/redis/var/redis.log databases 16 save 900 1 save 300 10 save 60 10000 rdbcompression yes dbfilename dump.rdb dir /usr/local/redis/var/ appendonly no appendfsync always glueoutputbuf yes shareobjects no shareobjectspoolsize 1024
重启服务器
- redis-server /usr/local/redis/redis.conf
redis-server /usr/local/redis/redis.conf
试试看读写是否有问题.如果服务器启动到了指定非默认端口,那么客户端连接则需要-p参数
如:
- $redis-cli -p 6380
$redis-cli -p 6380
* 开放服务器端口供其他主机连接
vi /etc/sysconfig/iptables #需要具备其修改权限
可能需要增加一行:
# redis
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
保存后重启iptables:
service iptables restart (PATH中加入了/sbin/)或者 /etc/init.d/iptables restart
III. PHP客户端
Redis的php客户端库非常之多,code.google.com上就有:
* phpredis
http://code.google.com/p/phpredis/ 是C客户端作为php模块
* php-predis
http://code.google.com/p/php-redis/ 纯php客户端
以上两个都不在Redis官方推荐推荐之列。
Redis推荐客户端链接是:http://redis.io/clients,如下图:
纯php库Predis(便于hack),但是性能不高。https://github.com/nrk/predis
下载该库文件后运行bin/createSingleFile.php可以生成一个类库文件Predis.php,非常方便使用。下面是最简单的一个Hello World应用:
- <?php
- require('Predis.php');
- $single_server = array(
- 'host' => '192.168.1.101',
- 'port' => 6379,
- 'database' => 15
- );
- $client = new Predis\Client($single_server);
- $client->set('library', 'predis');
- $retval = $client->get('allen ');
- var_dump($retval);
<?php require('Predis.php'); $single_server = array( 'host' => '192.168.1.101', 'port' => 6379, 'database' => 15 ); $client = new Predis\Client($single_server); $client->set('library', 'predis'); $retval = $client->get('allen '); var_dump($retval);
我推荐使用的客户端是:phpredis https://github.com/nicolasff/phpredis
windows版的dll从这里下载https://github.com/char101/phpredis/downloads
IV . Redis管理工具
1. phpRedisAdmin
https://github.com/ErikDubbelboer/phpRedisAdmin/
要求PHP C Module : https://github.com/nicolasff/phpredis
比较弱
2. redis-admin
http://code.google.com/p/redis-admin/
更弱
选phpRedisAdmin是不得不的做法.
相关推荐
Redis入门&配置教程整理
### Redis配置及使用知识点梳理 #### 一、Redis环境搭建 **1.1 Redis简介** Redis是一个开源的键值(Key-Value)存储系统,它不仅仅可以用作简单的键值数据库,还可以作为数据结构服务器使用,提供了丰富的数据结构...
总的来说,“redis最全资料及整理文档”将涵盖从基础安装、配置到高级特性的全面教程,无论你是Windows还是Linux用户,都能找到适用的方法来学习和使用Redis。无论是初学者还是经验丰富的开发者,这个文档都将为你...
本文将详细介绍在Windows和Linux平台上安装Redis的过程,以及如何配置`redis.conf`文件。 ### Windows平台安装Redis 1. **下载安装包**: 访问Redis官方网站(https://redis.io/download)或GitHub仓库,找到适用于...
这个是绝对超值的,本人收集了在windows下架设redis数据库的所需软件,以及在实践中应该注意的...这是本人经过长时间收集整理出来的,里面所有软件都带有安装方法,以及安装使用过程中注意的事项,有需要的就下载吧。
Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf(Windows 名为 redis.windows.conf)。可以通过配置文件来设置 Redis 的各种参数,例如数据持久化、备份、网络连接等。 Redis 的应用 Redis 广泛应用...
而`Redis - 02.xmind`可能是课程的思维导图,帮助整理Redis的体系结构和相关概念。 总结来说,Redis是一个功能强大的键值存储系统,其配置文件`redis.conf`是理解其运行机制的关键。通过学习和掌握Redis的基础知识...
Redis,全称Remote Dictionary Server,是一款高性能的...以上只是Redis众多特性和功能的一部分,实际使用中还需要根据具体需求选择合适的配置和最佳实践。学习和掌握Redis,能极大地提升开发效率和系统的响应速度。
phpredis是个人觉得最好的一个php-redis客户端,因为其提供的function与redis的命令基本一致,降低的了学习成本,...1. windows下redis的客户端,可直接安装redis; 2. php5.5 的redis扩展(64位和32位的dll文件);
- **配置Redis**:Redis安装完成后,需要根据实际需求对配置文件进行设置,比如端口、密码、持久化选项等。 - **操作数据库**:Redis的操作是通过命令行进行的,可以进行数据的增删改查、持久化操作等。 ### Redis...
在Ubuntu系统中,Redis的安装和配置相对简单。下面将详细解释如何在Ubuntu上安装Redis,以及如何进行基本的配置。 首先,安装Redis的步骤如下: 1. 更新系统包列表: `$ sudo apt-get update` 2. 安装Redis服务...
标题“redis安装包整理”指的是对Redis数据库的安装文件进行归档和整理的过程。Redis是一种高性能的键值存储系统,常用于数据缓存、消息队列等场景。在这个压缩包中,我们至少有一个与PHP相关的文件——`...
编译完成后,将Redis的命令和配置文件进行分类整理,便于后续管理和使用: ```bash mkdir bin conf mv src/* bin/ mv conf/* conf/ ``` 并将`bin`目录加入到环境变量中,以便全局访问Redis命令。 ##### 3.3 设置...
在 Windows 上,可以从 GitHub 下载 Redis 并配置环境变量运行 `redis-server.exe` 和 `redis-cli.exe`。在 Linux 上,可以通过源码编译安装,或者使用包管理器(如 apt-get 在 Ubuntu 上)来安装。启动 Redis 服务...
windows中使用Redis 里面包含Redis在页面中的使用说明和dll的代码引用说明
接下来,配置`application.yml`或`application.properties`以连接`MQTT`服务器和`Redis`: ```yaml # MQTT 配置 mqtt: server-url: tcp://mqtt.example.com:1883 client-id: mySpringBootApp username: your_...
个人的学习笔记,五大基本数据类型,相关配置,redis事务,主从同步,集群,持久化,Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本...