一.什么是redis?
Redis 是一个高性能的key-value数据库。分为客户端和服务端,最重要的一点是他是基于内存的,也就是所有的数据都存储在内存中,比像MySQL这种将数据存储于硬盘中的数据库性能要高非常多倍,另外redis是非关系型数据库。
二.安装redis服务端
声明:redis官方说并没有正式支持Windows,但是却开发了Windows版,基于大多数的项目都是在Linux下部署,并且Windows不断被爆出遭到黑客入侵的新闻,本次将放弃说明关于Windows下redis下的安装和使用,但是大同小异,并不需要为没有说明而感到苦恼。本次演示的将是在centos6.3版本下的安装及使用。
官网地址:
https://redis.io/
说明:本次演示的是redis-2.8.13版本,截止到目前,官网最新的版本是4.0的测试版,稳定版为3.2.9,.有需要的可以下载自己需要的相应的版本,还有下载的为redis的源码,所以需要Linux本身已经安装好了gcc和tcl.,这里给出安装命令
1.安装gcc
yum list gcc
yum install gcc.i686 -y
2.安装tcl
yum list tcl
yum install tcl.i686 -y
下载redis
wget http://download.redis.io/releases/redis-2.8.13.tar.gz
安装redis
进入下载的目录,解压redis安装包并安装
tar xzf redis-2.8.13.tar.gz
cd redis-2.8.13
make
cd src
make install
安装完成后,通过whereis 或者which都可以查看 redis-server的安装位置,例如
whereis redis-server
修改redis配置文件
cd redis-2.8.13
cp redis.conf /home/guojiadong/config/redis/
vim /home/guojiadong/config/redis/redis.config
找到 daemonize no,把no改为yes,这个选项的意思是我们要让redis在后台启动,接着我们找到port 6379 修改默认的端口号,改为7200,这是为安全性考虑。
启动redis-server
redis-server /home/guojiadong/config/redis/redis-server
因为我们刚刚修改了默认的配置文件让redis-server在后台启动,所以上面这条命令执行完对于感官上我们无从感知,我们可以用以下命令查看是否启动。
ps aux | grep redis-server
以下为我截图,
被我圈出来的部分说明redis已经启动,并且端口是7200,先在让我们通过redis的客户端来操作redis吧
redis客户端的使用
按照正常的逻辑我们这个时候输入redis-cli就可以了,但是redis-cli默认的是6379端口,也就是之前我们在修改配置文件的时候修改的port参数,所以我们就需要输入以下命令来启动我们的redis-cli
redis-cli -h 127.0.0.1 -p 7200
连接成功,扩展:可以使用
info
查看当前redis的内容,包括配置,版本,内存等等。
三.redis的五种数据类型
1).String 可以是字符串、整数或浮点,统称为元素
2).list 一个序列集合且每个节点都包好了一个元素
3).Set 各不相同的元素
4).Hash 有key-value的散列组,其中key是字符串,value是元素
5).Sort-Set 带分数的score-value有序集合,其中score为浮点,value为元素
四.使用redis
1.操作string
set zifuchuan guojiadong //设置字符串
get zifuchuan //获得刚刚设置的字符串
以下为截图
通过刚刚这两条命令我们就将一个key为zifuchuan,value为guojiadong的值存贮到了redis中并且获得了zifuchan的value
sting类型操作整形
set zifuchuan2 3 //甚至string类型的value为3
incr zifuchuan2 //让刚刚设置的value自增1
decrby zifuchuan2 2 //让value值减2
2.redis操作list
list类型是一个有序的列表,是从左到右还是从右到左,他允许从左或者右都可以进行推入和弹出,他并不要求值是不同,如果从左到右,那么就相当于我们常说的队列,也就是遵循先入先出
lpush list1 12 //从左边推入元素
rpush list1 12 //从右边推入元素
lpop list1 //从左边推出元素
rpop list1 //从右边推出元素
llen list1 //列出list1中元素的个数
3.redis操作set
set要求数据都是唯一的,相同的值是不能被插入2次及以上的
sadd set1 12 //插入12到set1中
scard set1 //返回当前set1中元素的个数
sismember set1 12 //判断12是否在set1这个集合中,返回1说明在,返回0说明不在
srem set1 12 //将12从set1中删除
4.redis操作hash
hash允许多个键值对存贮在一个key中
hset hash1 key1 12 //向 hash1中插入key为key1,value为12
hset hash1 key2 13 //向hash1中插入key 为key2,value为13
hget hash1 key1 //获得hash1中key1的value
hlen hash1 //查看hash1中有几个元素
hset hash1 key1 14 //直接修改hash1中key1的value,即使之前已经设置,会直接覆盖
hmget hash1 key1 key2 //一次获取hash1中key1和key2的值,会根据key1和key2的顺序返回,顺序不同,返回结果也不同
5.redis操作sort set
要求分数为浮点型,方式:score value,还有一个隐藏的rank,rank排序如果出现score相同,那么安装value值的字典排序来排序(a,b,c...1,2,3....)
zadd zset1 10.1 val1 //增加score为10.1,value为val1到zset1的映射
zadd zset1 9.1 val2 //增加score为9.1,value为val2到zset1的映射
zcard zset1 //查看zset1中元素的个数
zrange zset1 0 2 withscores //按照排名0到2把分数一起打印出来
zrank zset1 val2 //指定val2查看当前排名
五.PHP安装redis扩展
1.产看当前是否已经安装redis扩展
php-m //会列出所有安装的php扩展,找不到说明没有安装
2.检测安装环境
检测是否安装phpize和php-config,检测命令
which phpize //如果显示路径表示已经安装
which php-config //如果显示路径表示已经安装
如果提示no....表示未安装,可以通过下面命令安装
yum list php-devel //php扩展开发包,包含扩展所需要的工具
yum install php-devel.i686 -y
安装完成提示Complete!
下载redis并安装redis
git clone https://github.com/phpredis/phpredis.git
cd phpredis //生成configure
phpize
./configure --with-php-config=/usr/bin/php-config
make
make install
修改php.ini的配置文件
小技巧查看php.ini配置文件所在位置
php --ini
也可以使用whereis php.ini来查看
vim /etc/php.ini
添加一行
extension=redis.so
保存退出,重启php-fpm即可,我们的redis已经安装完成了。
六.PHP操作redis
redis文档地址
https://github.com/phpredis/phpredis
这里对于操作redis只做简要的说明,具体的可以参考redis在github上的文档
$redis=new\Redis();//实例化redis
$redis->connect('127.0.0.1',7200);//连接7200端口
$redis->set('zifuchuan','guojiadong');//设置zifuchuan为guojiadong
$redis->get('zifuchuan');//获取zifuchaun的值
以上就是redis的基本操作的全部内容了。