zoukankan      html  css  js  c++  java
  • PHP模拟redis字符串结构

    class Sdshrd{
     		public $len;#已经占用的空间长度
     		public $free;#还剩余空间数量
     		public $arr;#存储数据位置
     		public  $defaut=512;
     		public function __construct($value){
     			$this->arr = new SplFixedArray($this->defaut);
     			for($i=0;$i<strlen($value);$i++){
     				$this->arr[$i]=$value[$i];
     			}
     			$this->len=strlen($value);
     			$this->free = $this->defaut-strlen($value);
     		}
     	}
    
     	class Ticket{
     		private $check=array();
     		private $default=512;
     		public function __construct(){
     			$this->check = new SplFixedArray($this->default);
     		}
     		private function hash($name){
     			$total=0;
     			for($i=0;$i<strlen($name);$i++){
     				$total+=ord($name[$i]);
     			}
     			return $total%$this->default;
     		}
     		public function set($name,$value){
     			$index  = $this->hash($name);
     			$objsds = new Sdshrd($value);
     			$this->check[$index]=$objsds;
     		}
    
     		public function get($name){
     			$str="";
     			$index = $this->hash($name);
     			$obj = $this->check[$index];
     			foreach ($obj->arr as $key => $value) {
     				$str.=$value;
     			}
    
     			return $str;
     		}
     	}
     	$objticek = new Ticket();
     	$name="name";
     	$value="lisi";
     	$objticek->set($name,$value);
     	$str = $objticek->get($name);
     	echo $str;
    

      

  • 相关阅读:
    2017-2018 ACM-ICPC, Asia Tsukuba Regional Contest E:Black or White
    树状数组--二叉索引树
    P1654 OSU!-洛谷luogu
    P1365 WJMZBMR打osu! / Easy-洛谷luogu
    P4550 收集邮票-洛谷luogu
    P2257 YY的GCD--洛谷luogu

    P3200 [HNOI2009]有趣的数列--洛谷luogu
    catalan数
    lucas定理
  • 原文地址:https://www.cnblogs.com/zh718594493/p/12099593.html
Copyright © 2011-2022 走看看