redis 基础介绍
2015-11-12 12:38
661 查看
介绍与安装
Redis 的解释
– Redis [Remote Directory Server] 远程服务器字典
下载安装
– wget redis.tar.gz
– cd redis
– make
– make install
在bin下可执行的程序
redis-server Redis服务器
redis-cli: 命令行客户端
redis-benchmark: redis的性能测试工具
redis-check-aof: AOF文件修复工具
redis-check-dump: RDB文件检查工具
redis.conf 是redis的配置文件,将配置文件中daemonize yes 以守护进程的方式来使用
– 编译安装的: redis-server /etc/redis.conf
– ubuntu :
\cp 源码安装目录/init.d/init.d.redis /etc/init.d/redis
sudo /etc/init.d/redis start
命令返回值
状态回复
ping
SET test ‘this is a test’
错误回复
错误回复以error开始
(error) ERR unknown command ‘TESTERROR’
整数回复
以interger 数值
(interger) 2
字符串回复
GET test
test 存在 返回test的值
test 不存在 返回 (nil) 代表空的结果
多行字符串回复
KEYS *
得到当前数据库中存在的键名
Redis 配置选项相关的内容
和链接有关的
动态获取/设置Redis 的配置选项的值
获取
CONFIG GET name
设置
CONFIG SET name value
Redis配置文件redis.conf选项相关
– debug: 很详细的信息,适合开发和测试
– verbose: 包含很多不太有用的信息
– notice: 比较适合生产环境
– warning: 警告信息
和快照有关的
rdb模式:
save
save 900 1
rdbcompression yes 存储本地数据库时是否启用压缩, 默认yes
dbfilename dump.rdb 指定本地数据库文件名, 默认为dump.rdb
aof模式:
appendonly yes|no 开启和关闭
aof文件的保存位置和rdb文件的位置相同,都是dir参数设置的,默认的文件名是appendonly.aof,可以通过appendfilename参数修改
aof日志文件重写
也可手动执行
redis写命令同步的时机
dir ./ 指定本地数据库的存放目录, 默认是当前目录
hash-max-ziplist-entries 512 字节
hash-max-ziplist-value 64 字段数目
Redis 的解释
– Redis [Remote Directory Server] 远程服务器字典
下载安装
– wget redis.tar.gz
– cd redis
– make
– make install
在bin下可执行的程序
redis-server Redis服务器
redis-cli: 命令行客户端
redis-benchmark: redis的性能测试工具
redis-check-aof: AOF文件修复工具
redis-check-dump: RDB文件检查工具
redis.conf 是redis的配置文件,将配置文件中daemonize yes 以守护进程的方式来使用
启动redis
– 编译安装的: redis-server /etc/redis.conf
– ubuntu :
\cp 源码安装目录/init.d/init.d.redis /etc/init.d/redis
sudo /etc/init.d/redis start
源码安装脚本[摘取子lnmp-redis安装脚本]
#!/bin/bash Install_Redis() { ver="1" echo "Which version do you want to install:" echo "Install Redis 3.0.1 Stable Version please type: 1" echo "Install Redis 2.8.20 Old Version please type: 2" read -p "Enter 1 or 2 (Default Stable version): " ver if [ "${ver}" = "" ]; then ver="1" fi if [ "${ver}" = "1" ]; then echo "You will install Redis 3.0.1 Stable Version" elif [ "${ver}" = "2" ]; then echo "You will install Redis 2.8.20 Old Version" else echo "Input error,please input 1 or 2 !" echo "Please Rerun $0" exit 1 fi echo "====== Installing Redis ======" Press_Install sed -i '/redis.so/d' /usr/local/php/etc/php.ini Get_PHP_Ext_Dir zend_ext="${zend_ext_dir}redis.so" if [ -s "${zend_ext}" ]; then rm -f "${zend_ext}" fi cd ${cur_dir}/src if [ "${ver}" = "1" ]; then Download_Files http://download.redis.io/releases/${Redis_Stable_Ver}.tar.gz ${Redis_Stable_Ver}.tar.gz Tar_Cd ${Redis_Stable_Ver}.tar.gz ${Redis_Stable_Ver} else Download_Files http://download.redis.io/releases/${Redis_Old_Ver}.tar.gz ${Redis_Old_Ver}.tar.gz Tar_Cd ${Redis_Old_Ver}.tar.gz ${Redis_Old_Ver} fi if [ "${Is_64bit}" = "y" ] ; then make PREFIX=/usr/local/redis install else make CFLAGS="-march=i686" PREFIX=/usr/local/redis install fi mkdir -p /usr/local/redis/etc/ \cp redis.conf /usr/local/redis/etc/ sed -i 's/daemonize no/daemonize yes/g' /usr/local/redis/etc/redis.conf sed -i 's/# bind 127.0.0.1/bind 127.0.0.1/g' /usr/local/redis/etc/redis.conf cd ../ if [ -s /sbin/iptables ]; then /sbin/iptables -I INPUT -p tcp -s 127.0.0.1 --dport 6379 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 6379 -j DROP if [ "$PM" = "yum" ]; then service iptables save elif [ "$PM" = "apt" ]; then iptables-save > /etc/iptables.rules fi fi if [ -s ${PHPRedis_Ver} ]; then rm -rf ${PHPRedis_Ver} fi Download_Files http://pecl.php.net/get/${PHPRedis_Ver}.tgz ${PHPRedis_Ver}.tgz Tar_Cd ${PHPRedis_Ver}.tgz ${PHPRedis_Ver} /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install cd ../ sed -i '/the dl()/i\ extension = "redis.so"' /usr/local/php/etc/php.ini \cp ${cur_dir}/init.d/init.d.redis /etc/init.d/redis chmod +x /etc/init.d/redis echo "Add to auto start..." StartUp redis Restart_PHP /etc/init.d/redis start echo "====== Redis install completed ======" echo "Redis installed successfully, enjoy it!" } Uninstall_Redis() { echo "You will uninstall Redis..." Press_Start sed -i '/redis.so/d' /usr/local/php/etc/php.ini Restart_PHP Remove_StartUp redis echo "Delete Redis files..." rm -rf /usr/local/redis rm -rf /etc/init.d/redis if [ -s /sbin/iptables ]; then /sbin/iptables -D INPUT -p tcp -s 127.0.0.1 --dport 6379 -j ACCEPT /sbin/iptables -D INPUT -p tcp --dport 6379 -j DROP if [ "$PM" = "yum" ]; then service iptables save elif [ "$PM" = "apt" ]; then iptables-save > /etc/iptables.rules fi fi echo "Uninstall Redis completed." }
命令返回值
状态回复
ping
SET test ‘this is a test’
错误回复
错误回复以error开始
(error) ERR unknown command ‘TESTERROR’
整数回复
以interger 数值
(interger) 2
字符串回复
GET test
test 存在 返回test的值
test 不存在 返回 (nil) 代表空的结果
多行字符串回复
KEYS *
得到当前数据库中存在的键名
Redis 配置选项相关的内容
和链接有关的
动态获取/设置Redis 的配置选项的值
获取
CONFIG GET name
设置
CONFIG SET name value
Redis配置文件redis.conf选项相关
port6379 默认端口
bind127.0.0.1 默认绑定的主机地址
timeout0 当客户端闲置多久后关闭链接,0代表没有开启这个选项
loglevel notice日志的记录级别
– debug: 很详细的信息,适合开发和测试
– verbose: 包含很多不太有用的信息
– notice: 比较适合生产环境
– warning: 警告信息
logfilestdout: 记录日志的方式, 默认为标准输出
databases16, 默认数据库的个数16个, 默认的数据编号从0开始
和快照有关的
rdb模式:
save
<seconds>
<changes>多少秒内有多少次更改将其同步到磁盘中的数据文件里
save 900 1
900秒内有1次更改将其同步到磁盘中的数据文件里
rdbcompression yes 存储本地数据库时是否启用压缩, 默认yes
dbfilename dump.rdb 指定本地数据库文件名, 默认为dump.rdb
aof模式:
appendonly yes|no 开启和关闭
aof文件的保存位置和rdb文件的位置相同,都是dir参数设置的,默认的文件名是appendonly.aof,可以通过appendfilename参数修改
appendfilename appendonly.aof
aof日志文件重写
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
也可手动执行
bgrewriteaof进行重写
redis写命令同步的时机
appendfsync always每次都会执行
appendfsync everysec默认 每秒执行一次同步操作(推荐)
appendfsync no不主动进行同步,由操作系统来做,30秒一次
redis-check-aof文件修复
dir ./ 指定本地数据库的存放目录, 默认是当前目录
dump.rdb|*.aof都会存储到这里
hash-max-ziplist-entries 512 字节
hash-max-ziplist-value 64 字段数目
相关文章推荐
- 夺命雷公狗---Redis---5-php操作redis
- Redis配置文件详解
- redis服务器远程漏洞-公钥-相关原理
- Redis监控
- Redis常用命令速查
- 夺命雷公狗---Redis---4-安全性
- 夺命雷公狗---Redis---3-Redis常用命令
- redis操作基本命令
- redis的基本使用
- redis 3.0.5安装
- Windows下配置Redis环境
- PYTHON 操作 REDIS
- Redis配置文件参数说明
- centos 安装redis java简单测试
- Redis持久化
- Python操作Redis之有序集合
- 记一次Redis被攻击的事件
- mac中使用redis cluster 配置出现的问题
- 使用redis-cli定时执行指定命令
- ASP.NET Redis 开发