Redis est une base de données non relationnelle couramment utilisée, principalement utilisée pour la mise en cache des données. Les données sont enregistrées sous forme de clé-valeur et les valeurs clés sont mappées les unes aux autres. Son stockage de données est différent de celui de MySQL. Ses données sont stockées en mémoire, la lecture des données est donc relativement rapide, ce qui est très bon pour une concurrence élevée.
Concernant l'installation de redis, installez le panneau pagode sur le serveur ou la machine virtuelle pour installer redis, afin de pouvoir utiliser redis très facilement. N'oubliez pas lors de l'installation de redis, vous devez non seulement installer le logiciel redis, mais également saisir le PHP. version utilisée par le projet pour installer redis Développez puis ouvrez le logiciel redis
Assurez-vous d'installer l'extension redis dans la version php utilisée par le site Web.
Créez le fichier RedisPackage.php dans le dossier extend du répertoire racine de ThinkPHP. Le contenu est le suivant :
<?php class RedisPackage { protected static $handler = null; protected $options = [ 'host' => '127.0.0.1', 'port' => 6379, 'password' => '这是你是之前设置的redis密码', 'select' => 0, 'timeout' => 20,//关闭时间 0:代表不关闭 'expire' => 0, 'persistent' => false, 'prefix' => '', ]; public function __construct($options = []) { if (!extension_loaded('redis')) { //判断是否有扩展(如果你的apache没reids扩展就会抛出这个异常) throw new \BadFunctionCallException('not support: redis'); } if (!empty($options)) { $this->options = array_merge($this->options, $options); } $func = $this->options['persistent'] ? 'pconnect' : 'connect'; //判断是否长连接 self::$handler = new \Redis; self::$handler->$func($this->options['host'], $this->options['port'], $this->options['timeout']); if ('' != $this->options['password']) { self::$handler->auth($this->options['password']); } if (0 != $this->options['select']) { self::$handler->select($this->options['select']); } } /** * 写入缓存 * @param string $key 键名 * @param string $value 键值 * @param int $exprie 过期时间 0:永不过期 * @return bool */ public static function set($key, $value, $exprie = 0) { if ($exprie == 0) { $set = self::$handler->set($key, $value); } else { $set = self::$handler->setex($key, $exprie, $value); } return $set; } /** * 读取缓存 * @param string $key 键值 * @return mixed */ public static function get($key) { $fun = is_array($key) ? 'Mget' : 'get'; return self::$handler->{$fun}($key); } /** * 获取值长度 * @param string $key * @return int */ public static function lLen($key) { return self::$handler->lLen($key); } /** * 将一个或多个值插入到列表头部 * @param $key * @param $value * @return int */ public static function LPush($key, $value, $value2 = null, $valueN = null) { return self::$handler->lPush($key, $value, $value2, $valueN); } /** * 移出并获取列表的第一个元素 * @param string $key * @return string */ public static function lPop($key) { return self::$handler->lPop($key); } }
Le tableau de définition $options dans la classe RedisPackage. mot de passe. Remplissez le mot de passe redis défini ci-dessus
import('RedisPackage', EXTEND_PATH);
#设置 \RedisPackage::set('要设置的key','这是value'); #获取 $key = \RedisPackage::get('已设置的key'));
$redis = new \Redis(); //创建一个redis对象,下面可以直接使用$redis访问到redis对象 $redis->connect('127.0.0.1', 6379); //连接redis数据库,127.0.0.1表示本地(如果线上redis和php目录在同一个IP,则一样使用127.0.0.1),6379为redis端口号,若线上没有修改则默认是这个
$redis ->set( "test" , "redis 连接成功"); echo $redis ->get( "test");
$redis->exists('active_worker_list')
set() pour stocker la valeur de la clé. Le premier paramètre est le nom de la clé défini par vous-même et le deuxième paramètre est le. données à stocker. Grâce à cette méthode, vous pouvez Une fois les données nommées, elles sont stockées dans le cache
$result = $redis->set('active_worker_list',$r)
Souvent, nous stockons des données de type tableau, mais Redis ne prend pas en charge la lecture et l'écriture de tableaux, nous devons donc convertir les données. tableau au format json
$result = $redis->set('active_worker_list',json_encode($r,true))
get() pour obtenir la valeur de la clé, le paramètre est le nom de la clé Grâce à cette méthode, la valeur stockée dans la clé correspondante peut être obtenue
$result = $redis->get('active_worker_list')
Identique à set, many. Parfois, nous avons besoin de données de type tableau, nous devons donc convertir les données au format json en tableau
$result = json_decode($redis->get('active_worker_list'),true);
Parfois, pour certaines raisons (il se peut que l'affectation soit erronée lors de la simple attribution de la valeur...), nous nous devons supprimer la valeur de la clé, nous devons donc utiliser del(), et le paramètre est le nom de la clé
$redis->del('active_worker_list');
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!