PHP+redis實現的購物車單例類示例

這篇文章主要介紹了PHP+redis實現的購物車單例類,涉及php連接、操作redis數據庫及購物車功能相關定義與使用技巧,需要的朋友可以參考下

本文實例講述了PHP+redis實現的購物車單例類。分享給大家供大家參考,具體如下:

<?php
/**
 * 購物車單例類
 *
 * @author YING
 * @param void
 * @return void
 */
class CartSingleton
{
  //定義一個靜態的私有變量
  static private $_instance=null;
  private $redis=null;
  //私有化的構造方法
  private final function __construct()
  {
    //實例化
    $this->redis=new Redis();
    $this->redis->connect('127.0.0.1',6379);
  }
  //私有化的克隆方法
  private function __clone()
  {
  }
  //公有的靜態方法
  static public function getInstance()
  {
    if(!(self::$_instance instanceof self)){
      self::$_instance = new CartSingleton();
    }
    return self::$_instance;
  }
  /**
   * 加入購物車
   *
   * @author YING
   * @param userId goodsName goodsId 用戶id 商品名稱 商品id
   * @return int
   */
   public function addCart($userId,$goodsName,$goodsId)
   {
     $hashKey="user_".$userId; //hash鍵名
     $key=$goodsId."_".$goodsName;//鍵名
     //加入
     return $this->redis->hIncrBy($hashKey,$key,1);
   }
  /**
   * 單刪
   *
   * @author YING
   * @param userId goodsId
   * @return
   */
  public function cartDelOne($userId,$goodsId)
  {
    $hashKey="user_".$userId; //hash鍵名
    $key=$goodsId;//鍵名
    //刪除
    return $this->redis->hDel($hashKey,$key);
  }
  /**
   * 清空購物車
   *
   * @author YING
   * @param userId
   * @return void
   */
  public function cartDelAll($userId)
  {
    $hashKey="user_".$userId; //hash鍵名
    //刪除
    return $this->redis->del($hashKey);
  }
  /**
   * 購物車列表
   *
   * @author YING
   * @param userId
   * @return void
   */
  public function cartList($userId)
  {
    $hashKey="user_".$userId; //hash鍵名
    //查詢數據
    return $this->redis->hGetAll($hashKey);
  }
}
//實例化類
$obj=CartSingleton::getInstance();

更多關於PHP相關內容感興趣的讀者可查看本站專題:《php+redis數據庫程序設計技巧總結》、《php面向對象程序設計入門教程》、《PHP基本語法入門教程》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧彙總

希望本文所述對大家PHP程序設計有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章