---恢复内容开始---
中方官网:http://www.redis.net.cn/
需要镜像源:
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
==========================安装及介绍=====================
安装
yum install -y redis
看看都装了什么
rpm -ql redis
/etc/logrotate.d/redis #日志
/etc/rc.d/init.d/redis #启动脚本
/etc/rc.d/init.d/redis-sentinel
/etc/redis-sentinel.conf
/etc/redis.conf #配置文件
/etc/security/limits.d/95-redis.conf
/usr/bin/redis-benchmark #/usr/bin/下都是命令 系统测试
/usr/bin/redis-check-aof #检测日志
/usr/bin/redis-check-rdb
/usr/bin/redis-cli #客户端
/usr/bin/redis-sentinel
/usr/bin/redis-server
/usr/libexec/redis-shutdown
/usr/share/doc/redis-3.2.11
/usr/share/doc/redis-3.2.11/00-RELEASENOTES #文档
/usr/share/doc/redis-3.2.11/BUGS
/usr/share/doc/redis-3.2.11/CONTRIBUTING
/usr/share/doc/redis-3.2.11/COPYING
/usr/share/doc/redis-3.2.11/MANIFESTO
/usr/share/doc/redis-3.2.11/README.md
/usr/share/man/man1/redis-benchmark.1.gz
/usr/share/man/man1/redis-check-aof.1.gz
/usr/share/man/man1/redis-check-rdb.1.gz
/usr/share/man/man1/redis-cli.1.gz
/usr/share/man/man1/redis-sentinel.1.gz
/usr/share/man/man1/redis-server.1.gz
/usr/share/man/man5/redis-sentinel.conf.5.gz
/usr/share/man/man5/redis.conf.5.gz
/var/lib/redis
/var/log/redis #存日志
/var/run/redis #存放PID(管理进程)
查看配置文件
vim /etc/redis.conf
daemonize yes #进程是否是守护进程(源码是no)
pidfile /var/run/redis/redis.pid #pid位置
prot 6379 #端口
bind 192.168.70.121 #绑定的ip(默认127.0.0.1)
timeout 0 #客户端空闲都少秒端口, 0表示不断开
loglevel notice #日志级别
logfile /var/log/redis/redis.log #日志文件
databases 16 #redis支持数据库的数量 从0开始,所以支持17个
启动redis
/etc/init.d/redis start
#检查端口
lsof -i:6379
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 3384 redis 4u IPv4 51907 0t0 TCP 192.168.70.121:6379 (LISTEN)
#进入redis
redis-cli -h 192.168.70.121
#插入数据
SET mykey hehe
#获取数据
GET mykey
#查看所有key(工作中不要使用)
keys *
#查看是否key存在
EXISTS mykey
存在1 不存在0
#删除
DEL mykey
#查看类型
TYPE mykey
#追加key
APPEND
APPEND mykey 123
GET mykey
"hehe123"
#数值长度
STRLEN mykey
(integer) 7
#自增步长
INCRBY num 10
#添加多个值
SET key1 v1 key2 v2 key3 v3
OK
192.168.70.121:6379> keys *
1) "key2"
2) "key1"
3) "key3"
4) "mykey"
#同时获取多个值
MGET key1 key2 key3
1) "v1"
2) "v2"
3) "v3"
================================================数据结构===================
memcache 和 redis对比
类型 key-value keyvalue
过期策略 支持 支持
数据类型 单一数据类型 多种数据类型
持久化 不支持 支持
主从复制 不支持 支持
虚拟内存 不支持 支持(不建议)
字符串数据类型
SET GET DEL APPEND STRLEN MGET MSET INCR INCRBY DECR DECRBY INCRBYFLOAT
添加 取出 删除 追加 判断长度 添加多个值 取出多个值 自增 自增N 自减 自减N 自增浮点数
散列类型(Hash)
Hash类型的键最多2的32次方-1
HSET key field value
HGET key field
举例:
192.168.70.121:6379> HSET car name BMD
(integer) 1 #HSET car是key name是对象 BMD是数值
192.168.70.121:6379> HSET car price 500
(integer) 1
192.168.70.121:6379> HGET car name
"BMD"
192.168.70.121:6379> HGET car price
"500"
HMSET key field value [field value...]
HMGET key field [field...]
#存储 或 获取多个值
192.168.70.121:6379> HMSET book price 10 name reids
OK
192.168.70.121:6379> HMGET book name price
1) "reids"
2) "10"
#获取所有
192.168.70.121:6379> HGETALL book
1) "price"
2) "10"
3) "name"
4) "reids"
#删除某一个字段
HDEL
HDEL book name
HGETALL book
1) "price"
2) "10"
#判断是否存在
HEXISTS book name
类表类型
LPUSH key value (从左边插入)
192.168.70.121:6379> LPUSH mylist 1daxian
(integer) 1
192.168.70.121:6379> LPUSH mylist 2daxian
(integer) 2
192.168.70.121:6379> LLEN mylist #列表长度
(integer) 2
RPUSH key value(右边插入)
192.168.70.121:6379> RPUSH mylist 1daxian
(integer) 3
192.168.70.121:6379> RPUSH mylist 2daxian
(integer) 4
#查看列表尾部数据
192.168.70.121:6379> LINDEX mylist -1
"2daxian"
#列表弹出
LPOP(左边)
RPOP(右边)
192.168.70.121:6379> RPOP mylist
"2daxian"
192.168.70.121:6379> RPOP mylist
"1daxian"
192.168.70.121:6379> RPOP mylist
"1daxian"
192.168.70.121:6379> RPOP mylist
"2daxian"
列表就没有了。。。
===============================复制=============
php+redis
wget http://pecl.php.net/get/redis-4.0.0.tgz
解压缩
tar xf
---恢复内容结束---
中方官网:http://www.redis.net.cn/
需要镜像源:
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
==========================安装及介绍=====================
安装
yum install -y redis
看看都装了什么
rpm -ql redis
/etc/logrotate.d/redis #日志
/etc/rc.d/init.d/redis #启动脚本
/etc/rc.d/init.d/redis-sentinel
/etc/redis-sentinel.conf
/etc/redis.conf #配置文件
/etc/security/limits.d/95-redis.conf
/usr/bin/redis-benchmark #/usr/bin/下都是命令 系统测试
/usr/bin/redis-check-aof #检测日志
/usr/bin/redis-check-rdb
/usr/bin/redis-cli #客户端
/usr/bin/redis-sentinel
/usr/bin/redis-server
/usr/libexec/redis-shutdown
/usr/share/doc/redis-3.2.11
/usr/share/doc/redis-3.2.11/00-RELEASENOTES #文档
/usr/share/doc/redis-3.2.11/BUGS
/usr/share/doc/redis-3.2.11/CONTRIBUTING
/usr/share/doc/redis-3.2.11/COPYING
/usr/share/doc/redis-3.2.11/MANIFESTO
/usr/share/doc/redis-3.2.11/README.md
/usr/share/man/man1/redis-benchmark.1.gz
/usr/share/man/man1/redis-check-aof.1.gz
/usr/share/man/man1/redis-check-rdb.1.gz
/usr/share/man/man1/redis-cli.1.gz
/usr/share/man/man1/redis-sentinel.1.gz
/usr/share/man/man1/redis-server.1.gz
/usr/share/man/man5/redis-sentinel.conf.5.gz
/usr/share/man/man5/redis.conf.5.gz
/var/lib/redis
/var/log/redis #存日志
/var/run/redis #存放PID(管理进程)
查看配置文件
vim /etc/redis.conf
daemonize yes #进程是否是守护进程(源码是no)
pidfile /var/run/redis/redis.pid #pid位置
prot 6379 #端口
bind 192.168.70.121 #绑定的ip(默认127.0.0.1)
timeout 0 #客户端空闲都少秒端口, 0表示不断开
loglevel notice #日志级别
logfile /var/log/redis/redis.log #日志文件
databases 16 #redis支持数据库的数量 从0开始,所以支持17个
启动redis
/etc/init.d/redis start
#检查端口
lsof -i:6379
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 3384 redis 4u IPv4 51907 0t0 TCP 192.168.70.121:6379 (LISTEN)
#进入redis
redis-cli -h 192.168.70.121
#插入数据
SET mykey hehe
#获取数据
GET mykey
#查看所有key(工作中不要使用)
keys *
#查看是否key存在
EXISTS mykey
存在1 不存在0
#删除
DEL mykey
#查看类型
TYPE mykey
#追加key
APPEND
APPEND mykey 123
GET mykey
"hehe123"
#数值长度
STRLEN mykey
(integer) 7
#自增步长
INCRBY num 10
#添加多个值
SET key1 v1 key2 v2 key3 v3
OK
192.168.70.121:6379> keys *
1) "key2"
2) "key1"
3) "key3"
4) "mykey"
#同时获取多个值
MGET key1 key2 key3
1) "v1"
2) "v2"
3) "v3"
================================================数据结构===================
memcache 和 redis对比
类型 key-value keyvalue
过期策略 支持 支持
数据类型 单一数据类型 多种数据类型
持久化 不支持 支持
主从复制 不支持 支持
虚拟内存 不支持 支持(不建议)
字符串数据类型
SET GET DEL APPEND STRLEN MGET MSET INCR INCRBY DECR DECRBY INCRBYFLOAT
添加 取出 删除 追加 判断长度 添加多个值 取出多个值 自增 自增N 自减 自减N 自增浮点数
散列类型(Hash)
Hash类型的键最多2的32次方-1
HSET key field value
HGET key field
举例:
192.168.70.121:6379> HSET car name BMD
(integer) 1 #HSET car是key name是对象 BMD是数值
192.168.70.121:6379> HSET car price 500
(integer) 1
192.168.70.121:6379> HGET car name
"BMD"
192.168.70.121:6379> HGET car price
"500"
HMSET key field value [field value...]
HMGET key field [field...]
#存储 或 获取多个值
192.168.70.121:6379> HMSET book price 10 name reids
OK
192.168.70.121:6379> HMGET book name price
1) "reids"
2) "10"
#获取所有
192.168.70.121:6379> HGETALL book
1) "price"
2) "10"
3) "name"
4) "reids"
#删除某一个字段
HDEL
HDEL book name
HGETALL book
1) "price"
2) "10"
#判断是否存在
HEXISTS book name
类表类型
LPUSH key value (从左边插入)
192.168.70.121:6379> LPUSH mylist 1daxian
(integer) 1
192.168.70.121:6379> LPUSH mylist 2daxian
(integer) 2
192.168.70.121:6379> LLEN mylist #列表长度
(integer) 2
RPUSH key value(右边插入)
192.168.70.121:6379> RPUSH mylist 1daxian
(integer) 3
192.168.70.121:6379> RPUSH mylist 2daxian
(integer) 4
#查看列表尾部数据
192.168.70.121:6379> LINDEX mylist -1
"2daxian"
#列表弹出
LPOP(左边)
RPOP(右边)
192.168.70.121:6379> RPOP mylist
"2daxian"
192.168.70.121:6379> RPOP mylist
"1daxian"
192.168.70.121:6379> RPOP mylist
"1daxian"
192.168.70.121:6379> RPOP mylist
"2daxian"
列表就没有了。。。
===============================php+redis=============
php+redis
wget http://pecl.php.net/get/redis-4.0.0.tgz
解压缩
tar xf redis-4.0.0.tgz
cd redis-4.0.0.tgz
/application/php/bin/phpize
./configure --with-php-config=/applicaiton/php/bin/php-config
make && make install
生成so文件
vim /application/php/lib/php.ini
extension = redis.so
写一个phpinfo
<?php
phpinfo();
?>
phpinfo搜索是否有reids
====================INFO===============
http://www.redis.cn/commands/info.html