Redis介绍

---恢复内容开始---

中方官网: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

posted @ 2018-04-03 17:29  大仙儿没溜儿  阅读(155)  评论(0编辑  收藏  举报