recherche
Maisondéveloppement back-endtutoriel phpRedis系列-php如何通过redis扩展使用redis

Redis系列-php怎么通过redis扩展使用redis

通过前面几篇blog,我们应该对redis有个大致的认识,这里再讲解下,php怎么连接redis服务器进行数据读写?


1、安装php扩展

a)安装php扩展phpredis:

[[email protected] tool]# git clone https://github.com/nicolasff/phpredis.git phpredis[[email protected] tool]# cd phpredis/[[email protected] phpredis]# /usr/local/php/bin/phpize   #<span style="text-indent: 20px;">假设 php目录:</span><span style="text-indent: 20px;">/usr/local/php</span>[[email protected] phpredis]# ./configure --with-php-config=/usr/local/php/bin/php-config[[email protected] phpredis]# make[[email protected] phpredis]# make install
如果顺利,将得到类似如下提示:

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
php扩展文件目录下,将有个redis.so文件。

b)加载redis.so

在php.ini 文件中,添加配置:

[redis]extension=redis.so

重启web服务器,echo phpinfo() ,将看到大致如下显示:

 

 2、通过扩展访问redis服务器

php如何使用redis服务器存取数据?无非是经过phpredis扩展模块,通过如下几个步骤:

1、实例化redis类   【new redis()】

2、调用redis类方法,连接redis服务器 【connect,pconnect】

3、设置连接选项【setOption】

4、存/取数据 

5、关闭连接 【close】

如果使用默认选项,步骤3不需要。请参看下面的代码示例:  

<?php $redis = new Redis(); #实例化redis类$redis->connect('127.0.0.1'); #连接服务器$redis->set('key', 'hello '); #调用方法,设置string类型值$redis->append('key', 'world'); #修改string类型值echo $redis->get('key');  #获取redis key的值,并输出显示 echo $redis->type('key'); #获取key 的数据类型echo $redis->echo('will close...');# 输出字符串$redis->close(); #关闭连接
 通过上面的代码,我们基本完成一个简单redis的存取操作。下面罗列一些Redis类的一些属性及方法

a)连接redis server:

  • connect :连接server
  • pconnect :长连接
  • auth :权限验证
  • select :选择DB
  • close : 关闭连接
  •   setOption : 设置 client 选项
  • getOption : 获取client选项
  • ping : ping redis server
  •  echo : 输出 字符串

注意,如果频繁操作redis,不停地connect 和close会很耗性能的,这个时候,建议用pconnect 建立个长连接

b)字符串读写函数

  • append  :在值的后面追加值
  • decr :递减一个key的值
  • incr :递增一个key的值
  • get :获取一个值
  • set :设置一个值
  • getSet :设置值,并返回老值
  • mGet :批量获取值
  • mSet :批量设置值
  • strlen :获取值长度

注意:如果能用批量操作尽量用批量,减少频繁连接redis数据库性能

c)hash读写函数

  • hDel :删除一个多个域
  • hExists :判断一个hash域是否存在
  • hGet :获取hash域的值
  • hGetAll :获取所有域值
  • hIncrBy :自增长一个hash int域的值
  • hKeys :获取hash 所有域
  • hLen :获取域个数
  • hMGet :批量获取域的值
  • hMSet :批量设置域的值
  • hSet :设置域的值
  • hVals:得到所有域的值

d)list读写函数

  • lInsert:插入元素
  • lLen:list长度
  • lPop:移除并获取第一个颜色
  • lPush:插入一个元素
  • lRem:移除元素
  • lSet:设置元素值

e)set

  • sAdd:增加一个或多个成员
  • sIsMember:是否包含
  • sMembers:得到成员
  • sMove:移动成员
  • sPop:移除成员
  • sRandMember:得到随机成员
  • sRem:删除

f)sorted set

  • zAdd:增加一个或多个
  • zCard:成员个数
  • zIncrBy:递增成员score
  • zRange:返回索引范围内的成员
  • zRangeByScore :返回score范围内的成员
  • zScore:获取成员score
  • zRem:移除一个或多个成员

更多信息请参考:https://github.com/nicolasff/phpredis

http://redis.io/clients

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Expliquez comment l'équilibrage de charge affecte la gestion des sessions et comment y remédier.Expliquez comment l'équilibrage de charge affecte la gestion des sessions et comment y remédier.Apr 29, 2025 am 12:42 AM

L'équilibrage de charge affecte la gestion de la session, mais peut être résolu avec la réplication de la session, l'adhérence des sessions et le stockage centralisé de session. 1. Session Replication Copy Données de session entre les serveurs. 2. Session Stickleness dirige les demandes d'utilisateurs vers le même serveur. 3. Le stockage centralisé de session utilise des serveurs indépendants tels que Redis pour stocker les données de session pour assurer le partage de données.

Expliquez le concept de verrouillage des sessions.Expliquez le concept de verrouillage des sessions.Apr 29, 2025 am 12:39 AM

Session BlockingSateChnique utilisétoenSureAuser'sessionremainSexclusiVetoonUseratatime.ITCUCIALFORPREVERSDATACORUPRUPTIONANDSECRYSEURCHEBRESSInMulti-userApplications.SessionLockingisImplementEdUsingServer-SidelockingMechanisms, telasreentrantLockinjj

Y a-t-il des alternatives aux séances PHP?Y a-t-il des alternatives aux séances PHP?Apr 29, 2025 am 12:36 AM

Les alternatives aux séances PHP comprennent des cookies, une authentification basée sur des jetons, des sessions basées sur la base de données et Redis / Memcached. 1.CooKies Gérer les sessions en stockant des données sur le client, ce qui est simple mais faible en sécurité. 2. L'authentification basée sur le token utilise des jetons pour vérifier les utilisateurs, ce qui est hautement sécurisé mais nécessite une logique supplémentaire. 3.Database basée sur les séances stocke les données dans la base de données, qui a une bonne évolutivité mais peut affecter les performances. 4. redis / memcached utilise un cache distribué pour améliorer les performances et l'évolutivité, mais nécessite une correspondance supplémentaire

Définissez le terme «détournement de session» dans le contexte de PHP.Définissez le terme «détournement de session» dans le contexte de PHP.Apr 29, 2025 am 12:33 AM

SessionHijacking fait référence à un attaquant imitant un utilisateur en obtenant le SessionID de l'utilisateur. Les méthodes de prévention comprennent: 1) le chiffrement de la communication à l'aide de HTTPS; 2) Vérification de la source du sessionID; 3) Utilisation d'un algorithme de génération de sessionID sécurisé; 4) Mise à jour régulière du SessionID.

Quelle est la forme complète de PHP?Quelle est la forme complète de PHP?Apr 28, 2025 pm 04:58 PM

L'article traite de PHP, détaillant sa forme complète, les principales utilisations du développement Web, la comparaison avec Python et Java, et sa facilité d'apprentissage pour les débutants.

Comment PHP gère-t-il les données de formulaire?Comment PHP gère-t-il les données de formulaire?Apr 28, 2025 pm 04:57 PM

PHP gère les données de formulaire à l'aide de $ \ _ Post et $ \ _ obtiennent des superglobaux, avec la sécurité assurée par la validation, la désinfection et les interactions de base de données sécurisées.

Quelle est la différence entre PHP et ASP.NET?Quelle est la différence entre PHP et ASP.NET?Apr 28, 2025 pm 04:56 PM

L'article compare PHP et ASP.NET, en se concentrant sur leur pertinence pour les applications Web à grande échelle, les différences de performances et les fonctionnalités de sécurité. Les deux sont viables pour les grands projets, mais PHP est open-source et indépendant de la plate-forme, tandis que ASP.NET,

PHP est-il un langage sensible à la cas?PHP est-il un langage sensible à la cas?Apr 28, 2025 pm 04:55 PM

La sensibilité à la caisse de PHP varie: les fonctions sont insensibles, tandis que les variables et les classes sont sensibles. Les meilleures pratiques incluent la dénomination cohérente et l'utilisation de fonctions insensibles à des cas pour les comparaisons.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel