欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

寶塔中ThinkPHP框架使用Redis的一系列教程

 更新時(shí)間:2023年03月25日 16:05:31   投稿:yin  
關(guān)于redis的安裝,在服務(wù)器或者虛擬機(jī)上安裝寶塔面板安裝redis,這樣很簡(jiǎn)單就可以使用redis了,記得安裝redis的時(shí)候不僅要安裝redis軟件,還要進(jìn)入項(xiàng)目使用的php版本中安裝redis擴(kuò)展,然后開(kāi)啟redis軟件

Redis是一種常用的非關(guān)系型數(shù)據(jù)庫(kù),主要用作數(shù)據(jù)緩存,數(shù)據(jù)保存形式為key-value,鍵值相互映射。它的數(shù)據(jù)存儲(chǔ)跟MySQL不同,它數(shù)據(jù)存儲(chǔ)在內(nèi)存之中,所以數(shù)據(jù)讀取相對(duì)而言很快,用來(lái)做高并發(fā)非常不錯(cuò)。

關(guān)于redis的安裝,在服務(wù)器或者虛擬機(jī)上安裝寶塔面板安裝redis,這樣很簡(jiǎn)單就可以使用redis了,記得安裝redis的時(shí)候不僅要安裝redis軟件,還要進(jìn)入項(xiàng)目使用的php版本中安裝redis擴(kuò)展,然后開(kāi)啟redis軟件

1.首先在寶塔的安裝面板,找到redis,點(diǎn)擊安裝。

2.安裝完redis后,點(diǎn)擊設(shè)置, 設(shè)置個(gè)密碼

3.php環(huán)境安裝redis擴(kuò)展

一定要在網(wǎng)站使用的php版本中,安裝redis擴(kuò)展。

4.創(chuàng)建類(lèi)處理文件

ThinkPHP根目錄的extend文件夾中創(chuàng)建文件 RedisPackage.php,內(nèi)容如下:

<?php
 
class RedisPackage
{
    protected static $handler = null;
    protected $options = [
        'host' => '127.0.0.1',
        'port' => 6379,
        'password' => '這是你是之前設(shè)置的redis密碼',
        'select' => 0,
        'timeout' => 20,//關(guān)閉時(shí)間 0:代表不關(guān)閉
        'expire' => 0,
        'persistent' => false,
        'prefix' => '',
    ];
 
    public function __construct($options = [])
    {
        if (!extension_loaded('redis')) {   //判斷是否有擴(kuò)展(如果你的apache沒(méi)reids擴(kuò)展就會(huì)拋出這個(gè)異常)
            throw new \BadFunctionCallException('not support: redis');
        }
        if (!empty($options)) {
            $this->options = array_merge($this->options, $options);
        }
        $func = $this->options['persistent'] ? 'pconnect' : 'connect';     //判斷是否長(zhǎng)連接
        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']);
        }
    }
 
    /**
     * 寫(xiě)入緩存
     * @param string $key 鍵名
     * @param string $value 鍵值
     * @param int $exprie 過(guò)期時(shí)間 0:永不過(guò)期
     * @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);
    }
 
    /**
     * 獲取值長(zhǎng)度
     * @param string $key
     * @return int
     */
    public static function lLen($key)
    {
        return self::$handler->lLen($key);
    }
 
    /**
     * 將一個(gè)或多個(gè)值插入到列表頭部
     * @param $key
     * @param $value
     * @return int
     */
    public static function LPush($key, $value, $value2 = null, $valueN = null)
    {
        return self::$handler->lPush($key, $value, $value2, $valueN);
    }
 
    /**
     * 移出并獲取列表的第一個(gè)元素
     * @param string $key
     * @return string
     */
    public static function lPop($key)
    {
        return self::$handler->lPop($key);
    }
 
 
}

類(lèi)RedisPackage中的定義數(shù)組$options,有個(gè)健名是password,這里填入上面設(shè)置的redis密碼

5.在要使用Redis的Controller中,引入文件

import('RedisPackage', EXTEND_PATH);

6.簡(jiǎn)單使用Redis

#設(shè)置
\RedisPackage::set('要設(shè)置的key','這是value');
 
#獲取
$key = \RedisPackage::get('已設(shè)置的key'));

7.Redis擴(kuò)展

連接redis

$redis = new \Redis(); 
//創(chuàng)建一個(gè)redis對(duì)象,下面可以直接使用$redis訪問(wèn)到redis對(duì)象

$redis->connect('127.0.0.1', 6379);
//連接redis數(shù)據(jù)庫(kù),127.0.0.1表示本地(如果線上redis和php目錄在同一個(gè)IP,則一樣使用127.0.0.1),6379為redis端口號(hào),若線上沒(méi)有修改則默認(rèn)是這個(gè)

驗(yàn)證連接是否成功(可寫(xiě)可不寫(xiě),僅做驗(yàn)證)

$redis ->set( "test" , "redis 連接成功");
echo $redis ->get( "test");

exists() 判斷鍵是否存在,參數(shù)為鍵名

$redis->exists('active_worker_list')

set()

set() 存儲(chǔ)鍵值,第一個(gè)參數(shù)為自己定義的鍵名,第二個(gè)參數(shù)為要存儲(chǔ)的數(shù)據(jù),通過(guò)該方法可以將數(shù)據(jù)命名之后存入緩存

$result = $redis->set('active_worker_list',$r)

很多時(shí)候我們存儲(chǔ)的是數(shù)組類(lèi)型的數(shù)據(jù),但redis不支持讀寫(xiě)數(shù)組,所以我們需要將數(shù)組轉(zhuǎn)成json格式

$result = $redis->set('active_worker_list',json_encode($r,true))

get()

get() 獲取鍵值,參數(shù)為鍵名,通過(guò)該方法可以獲取到對(duì)應(yīng)鍵中存儲(chǔ)的值

$result = $redis->get('active_worker_list')

同set一樣,很多時(shí)候我們需要的是數(shù)組類(lèi)型的數(shù)據(jù),所以我們需要將json格式的數(shù)據(jù)轉(zhuǎn)成數(shù)組

$result = json_decode($redis->get('active_worker_list'),true);

del()

有時(shí)候因?yàn)橐恍┰颍ㄓ锌赡苤皇菃渭冑x值的時(shí)候賦錯(cuò)了......)我們需要?jiǎng)h除鍵值,所以我們要用到del(),參數(shù)為鍵名

$redis->del('active_worker_list');

到此這篇關(guān)于寶塔中ThinkPHP框架使用Redis的一系列教程的文章就介紹到這了,更多相關(guān)寶塔中ThinkPHP使用Redis的教程內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • redis中List列表常見(jiàn)命令及使用場(chǎng)景

    redis中List列表常見(jiàn)命令及使用場(chǎng)景

    這篇文章主要給大家介紹了關(guān)于redis中List列表常見(jiàn)命令及使用場(chǎng)景的相關(guān)資料,Redis列表是簡(jiǎn)單的字符串列表,按照插入順序排序,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • redis分布式鎖的8大坑總結(jié)梳理

    redis分布式鎖的8大坑總結(jié)梳理

    這篇文章主要介紹了redis分布式鎖的8大坑總結(jié)梳理,使用redis的分布式鎖,我們首先想到的可能是setNx命令,文章圍繞setNx命令展開(kāi)詳細(xì)的內(nèi)容介紹,感興趣的小伙伴可以參考一下
    2022-07-07
  • Redis如何使用HyperLogLog的實(shí)現(xiàn)

    Redis如何使用HyperLogLog的實(shí)現(xiàn)

    本文主要介紹了Redis如何使用HyperLogLog的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Redis五種數(shù)據(jù)類(lèi)型詳解

    Redis五種數(shù)據(jù)類(lèi)型詳解

    Redis是基于內(nèi)存的 K-V 數(shù)據(jù)庫(kù),常用于緩存、消息隊(duì)列,分布式鎖等場(chǎng)景,并且提供了常見(jiàn)的數(shù)據(jù)結(jié)構(gòu):字符串、哈希、列表、集合、帶排序的集合,本文主要介紹了Redis的五種數(shù)據(jù)類(lèi)型,感興趣的小伙伴可以參考閱讀本文
    2023-04-04
  • Linux服務(wù)器使用Redis作為數(shù)據(jù)緩存并用log4j2進(jìn)行日志記錄的過(guò)程分享

    Linux服務(wù)器使用Redis作為數(shù)據(jù)緩存并用log4j2進(jìn)行日志記錄的過(guò)程分享

    這篇文章主要介紹了Linux服務(wù)器使用Redis作為數(shù)據(jù)緩存并用log4j2日志記錄,關(guān)于SpringBoot項(xiàng)目配置Redis與log4j2是查詢官方文檔,本文中的Redis配置類(lèi)、Redis工具類(lèi)以及l(fā)og4j2.xml配置文件來(lái)自網(wǎng)絡(luò),查證源自何處比較麻煩,所以在此感謝所有人的分享
    2023-09-09
  • RedisDesktopManager?連接redis的方法

    RedisDesktopManager?連接redis的方法

    這篇文章主要介紹了RedisDesktopManager?連接redis,需要的朋友可以參考下
    2023-08-08
  • 詳解Redis基本命令與使用場(chǎng)景

    詳解Redis基本命令與使用場(chǎng)景

    REmote DIctionary Server(Redis)是一個(gè)由Salvatore Sanfilippo寫(xiě)的key-value 存儲(chǔ)系統(tǒng),是跨平臺(tái)的非關(guān)系型數(shù)據(jù)庫(kù),是一個(gè)開(kāi)源的使用ANSI C語(yǔ)言編寫(xiě)、遵守BSD協(xié)議、支持網(wǎng)絡(luò)、可基于內(nèi)存、分布式、可選持久性的鍵值對(duì)(Key-Value)存儲(chǔ)數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的 API。
    2021-06-06
  • Redis數(shù)據(jù)類(lèi)型之散列類(lèi)型hash命令學(xué)習(xí)

    Redis數(shù)據(jù)類(lèi)型之散列類(lèi)型hash命令學(xué)習(xí)

    這篇文章主要為大家介紹了Redis數(shù)據(jù)類(lèi)型之散列類(lèi)型hash命令學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Window下Redis的安裝和部署詳細(xì)圖文教程

    Window下Redis的安裝和部署詳細(xì)圖文教程

    Windows?版本的?Redis?是?Microsoft?的開(kāi)源部門(mén)提供的?Redis.?這個(gè)版本的?Redis?適合開(kāi)發(fā)人員學(xué)習(xí)使用,生產(chǎn)環(huán)境中使用?Linux?系統(tǒng)上的?Redis,?這里講解了這兩種的安裝和下載,按照你們需要的liunx?或window步驟來(lái)?就可以了
    2024-05-05
  • 解決Redis報(bào)錯(cuò)MISCONF?Redis?is?configured?to?save?RDB?snapshots

    解決Redis報(bào)錯(cuò)MISCONF?Redis?is?configured?to?save?RDB?snap

    這篇文章主要給大家介紹了關(guān)于如何解決Redis報(bào)錯(cuò)MISCONF?Redis?is?configured?to?save?RDB?snapshots的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11

最新評(píng)論