Redis学习笔记-PHP安装redis扩展以及使用

安装redis扩展

  • 源码安装
# wget http://download.redis.io/releases/redis-6.0.8.tar.gz
# tar xzf redis-6.0.8.tar.gz
# cd redis-6.0.8
# make
  • perl 安装
perl install redis

安装后记得修改php.ini设置 php -m 查看是否扩展安装成功

在这里插入图片描述

启动redis-server

[root@VM_0_16_centos bin]# ./redis-server ../etc/redis.conf  #后面带上配置文件

php连接redis

<?php
$redis = new Redis(); #创建redis对象
$redis->connect('127.0.0.1',6379); # 连接redis  默认空密码情况 。有密码
echo $redis->ping(); #给redis-server发送ping  这里返回1 说明连接成功
$redis->set("a",2); # 设置字符串类型
echo $redis->get("a"); #获得字符串类型
  • 字符串操作
<?php
$redis = new Redis(); #创建redis对象
$redis->connect('127.0.0.1',6379); # 连接redis  默认空密码情况 。有密码
if(!$redis->ping()) echo "连接redis失败";#ping
$redis->set("a",1);#设置key值
$redis->get("a");#获取指定key值
$redis->append("a",2); #append
$redis->get("a");
$redis->incrby("a",1);
echo $redis->get("a");
  • 列表操作(lists)
<?php
$redis = new Redis(); #创建redis对象
$redis->connect('127.0.0.1',6379); # 连接redis  默认空密码情况 。有密码
if(!$redis->ping()) echo "连接redis失败";#ping

$redis->lpush("list",1); #入栈 从左
$redis->lpop("list");#弹出  从左

在这里插入图片描述

  • hashes
<?php
$redis = new Redis(); #创建redis对象
$redis->connect('127.0.0.1',6379); # 连接redis  默认空密码情况 。有密码
if(!$redis->ping()) echo "连接redis失败";#ping

$redis->hset("user","name","xiaoming"); #入栈 从左
echo $redis->hget("user","name");#弹出  从左

在这里插入图片描述

  • 集合(set)
<?php
$redis = new Redis(); #创建redis对象
$redis->connect('127.0.0.1',6379); # 连接redis  默认空密码情况 。有密码
if(!$redis->ping()) echo "连接redis失败";#ping

$redis->sadd("user",1);
$redis->sadd("user",2);   
$redis->sadd("user",3); 
echo $redis->scard("user");

==还不能使用user当key,这样会获取不到值 ==
在这里插入图片描述

  • 有序集合(ZSET)

就是带score的集合哦

<?php
$redis = new Redis(); #创建redis对象
$redis->connect('127.0.0.1',6379); # 连接redis  默认空密码情况 。有密码
if(!$redis->ping()) echo "连接redis失败";#ping

$redis->zadd("zset",100,"xiaoming"); 
echo $redis->zcount("zset",1,100);

在这里插入图片描述

  • geo (地理位置)

可以存储地理位置信息。

<?php
$redis = new Redis(); #创建redis对象
$redis->connect('127.0.0.1',6379); # 连接redis  默认空密码情况 。有密码
if(!$redis->ping()) echo "连接redis失败";#ping

$redis->geoadd("city",112.59,28.12,"changsha"); ###这里注意有三个参数
$redis->geoadd("city",114.06,22.32,"shenzhen"); 
$redis->geopos("shenzhen"); 
echo $redis->geodist("city","changsha","shenzhen","km");##计算长沙到深圳的直线距离。

在这里插入图片描述

  • Hyperloglog

HyperLogLog 是一种用于计算唯一事物的概率数据结构(从技术上讲,这称为估计集合的基数 (不重复的数的数量)
可以统计网站uv 存在一定误差

<?php
$redis = new Redis(); #创建redis对象
$redis->connect('127.0.0.1',6379); # 连接redis  默认空密码情况 。有密码
if(!$redis->ping()) echo "连接redis失败";#ping

$clinet_ip = "22.22.33.33";
$redis->pfadd("uv",array($clinet_ip));
$clinet_ip = "22.22.33.34";
$redis->pfadd("uv",array($clinet_ip));
$clinet_ip = "22.22.33.33";
$redis->pfadd("uv",array($clinet_ip));
echo "uv is ".$redis->pfcount("uv");
?>
  • Bitmaps(位图)

以0和1来保存实际数据 适合做签到统计,关注统计 能够以0和1来代表的一类数据
位图不是实际的数据类型,而是在 String 类型上定义的一组面向位的操作。由于字符串是二进制安全的 blob,并且它们的最大长度为 512 MB,因此它们适合设置最​​多 2^32 个不同的位。

<?php
$redis = new Redis(); #创建redis对象
$redis->connect('127.0.0.1',6379); # 连接redis  默认空密码情况 。有密码
if(!$redis->ping()) echo "连接redis失败";#ping
$redis->setbit("qiandao","1",0);
$redis->setbit("qiandao","2",1);
echo $redis->getbit("qiandao",2);#查看第二天签到情况  key里面可以加上名字啥的 这样直接可以定位某个人的签到情况。

php操作使用redis是非常简单的,只要创建好了redis对象,后面使用的函数和redis的命令一样,使用小写即可。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员若风+

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值