PHP那些事儿

redis的初级使用

2019-06-25  本文已影响0人  栋公子

一.什么是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上的文档

<?php

$redis=new\Redis();//实例化redis

$redis->connect('127.0.0.1',7200);//连接7200端口

$redis->set('zifuchuan','guojiadong');//设置zifuchuan为guojiadong

$redis->get('zifuchuan');//获取zifuchaun的值

以上就是redis的基本操作的全部内容了。

上一篇下一篇

猜你喜欢

热点阅读