/** * LtStoreMemory * 非持久化存储:存在临时内存里,脚本结束,内存释放 * 适用于:开发环境 * * LtStoreFile * 持久化存储:序列化后存在硬盘文件上 * 适用于:生产环境 * * 由于LtStoreMemory和LtStoreFile都实现了LtStore接口,一行代码即可实现开发环境和生产环境的持久化存储切换 * * LtStoreMemory的使用方法与LtStoreFile完全一样,只是LtStoreMemory没有任何属性可设置 */ public function testMostUsedWay() { /** * Lotus组件初始化三步曲 */ // 1. 实例化 $storeHandle = new LtStoreFile(); // 2. 设置属性 $storeHandle->storeDir = sys_get_temp_dir() . DIRECTORY_SEPARATOR . uniqid(); //不设置也有默认值的,这里只是演示一个三步曲 // 3. 调用init()方法 $storeHandle->init(); //初始化完毕,测试其效果 //存入一个键值对,返回true $this->assertTrue($storeHandle->add("test_key", "test_value")); //根据key取出之前存入的value $this->assertEquals("test_value", $storeHandle->get("test_key")); //更新存入的值 $this->assertTrue($storeHandle->update("test_key", "new_value")); //再次取出,已经是更新之后的值了 $this->assertEquals("new_value", $storeHandle->get("test_key")); //删除此key $this->assertTrue($storeHandle->del("test_key")); //再用此key来取出值,会失败,返回false $this->assertFalse($storeHandle->get("test_key")); //删除、更新不存在的key $this->assertFalse($storeHandle->del("some_key_not_exists")); $this->assertFalse($storeHandle->update("some_key_not_exists", "any value")); //添加重复的key,失败,返回false $this->assertTrue($storeHandle->add("key1", "value1")); $this->assertFalse($storeHandle->add("key1", "value1")); $storeHandle->del("key1"); }