<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Redis是一種常用的非關係型資料庫,主要用作資料快取,資料儲存形式為key-value,鍵值相互對映。它的資料儲存跟MySQL不同,它資料儲存在記憶體之中,所以資料讀取相對而言很快,用來做高並行非常不錯。
關於redis的安裝,在伺服器或者虛擬機器器上安裝寶塔面板安裝redis,這樣很簡單就可以使用redis了,記得安裝redis的時候不僅要安裝redis軟體,還要進入專案使用的php版本中安裝redis擴充套件,然後開啟redis軟體
一定要在網站使用的php版本中,安裝redis擴充套件。
ThinkPHP根目錄的extend資料夾中建立檔案 RedisPackage.php,內容如下:
<?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); } }
類RedisPackage中的定義陣列$options,有個健名是password,這裡填入上面設定的redis密碼
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() 儲存鍵值,第一個引數為自己定義的鍵名,第二個引數為要儲存的資料,通過該方法可以將資料命名之後存入快取
$result = $redis->set('active_worker_list',$r)
很多時候我們儲存的是陣列型別的資料,但redis不支援讀寫陣列,所以我們需要將陣列轉成json格式
$result = $redis->set('active_worker_list',json_encode($r,true))
get() 獲取鍵值,引數為鍵名,通過該方法可以獲取到對應鍵中儲存的值
$result = $redis->get('active_worker_list')
同set一樣,很多時候我們需要的是陣列型別的資料,所以我們需要將json格式的資料轉成陣列
$result = json_decode($redis->get('active_worker_list'),true);
有時候因為一些原因(有可能只是單純賦值的時候賦錯了......)我們需要刪除鍵值,所以我們要用到del(),引數為鍵名
$redis->del('active_worker_list');
到此這篇關於寶塔中ThinkPHP框架使用Redis的一系列教學的文章就介紹到這了,更多相關寶塔中ThinkPHP使用Redis的教學內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45