memcached初体验

直接安装

```

sudo apt install memcached

```

然后就会默认在后台运行。

```

$ ps aux|grep memcached
memcache  87827  0.0  0.3 326560  3796 ?        Ssl  17:48   0:00 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1

```

来一个PHP的demo(需要安装sudo apt install php-memcached)。

```

<?php
# 先建立到本地memcached的连接。

$mem = new Memcached();
$mem->addServer("127.0.0.1", 11211);
# 然后尝试读取某key的值(因为没有设置,所以这个值还没有)

$key1 = "cqq";
$result = $mem->get($key1);

# 第一次判断这个值发现没有之后,会通过->add()函数将值加到memcached,第二次就会有了。
if ($result){
    echo $result;
}else {
    echo "[!] no matching key found! I'm gonna add that now.";
    $mem->add($key1, "caiqiqi") or die("[!] couldn't save any values to memcached!");
}
?>

```

然后想要命令行访问,直接连接他的TCP端口,然后

```

$ nc -v 127.0.0.1 11211
Connection to 127.0.0.1 11211 port [tcp/*] succeeded!
get cqq
VALUE cqq 0 7
caiqiqi
END

```


## 用memcached缓存mysql查询到的数据

### php demo

```

<?php
$mem = new Memcached();
$mem->addServer("127.0.0.1", 11211);

# 准备工作:先创建数据库,账户,密码

# mysql> create database mem_test;

# mysql> grant all on mem_test.* to test@'localhost' identified by 'testing123';

# mysql> use mem_test;

# mysql> create table sample_data(id int, name varchar(30));

# mysql> insert into sample_data values(1, "some_data");
$servername = "127.0.0.1";
$username = "test";
$password = "testing123";
$dbname = "mem_test";


$conn = new mysqli($servername, $username, $password, $dbname) or dir(mysql_error());
$query_str = "select id from sample_data where name = 'some_data'";
$query_key = "KEY" . md5($query_str); # 通过加上md5值生成一个唯一的key
print $query_key;


$result = $mem->get($query_key);
if ($result){
    print "<p> Data was: ". $result[0] . "</p>";
    print "<p> Caching success!</p><p>Retrived data from memcached!</p>";
} else{
    $result = $conn->query($query_str) or dir(mysql_error());
    $row = $result->fetch_assoc();
    #var_dump($row);
    $mem->set($query_key, $row['id'], 100); # 过期时间s
    print "<p>Data not found in memcached.</p><p>Data retrieved from MySQL and stored in memcached for next time.</p>";
}

```

执行完上述php代码之后(命令行或者WEB),再去memcached里去查找。

```

caikiki@ubuntu:~$ nc -v 127.0.0.1 11211
Connection to 127.0.0.1 11211 port [tcp/*] succeeded!
get KEYc029fe1cf78a2428b554004188ab9468
VALUE KEYc029fe1cf78a2428b554004188ab9468 0 1
1
END

```

参考:

http://www.runoob.com/memcached/memcached-connection.html

https://www.digitalocean.com/community/tutorials/how-to-install-and-use-memcache-on-ubuntu-14-04

内容概要:本文详细介绍了如何使用Matlab对地表水源热泵系统进行建模,并采用粒子群算法来优化每小时的制冷量和制热量。首先,文章解释了地表水源热泵的工作原理及其重要性,随后展示了如何设定基本参数并构建热泵机组的基础模型。接着,文章深入探讨了粒子群算法的具体实现步骤,包括参数设置、粒子初始化、适应度评估以及粒子位置和速度的更新规则。为了确保优化的有效性和实用性,文中还讨论了如何处理实际应用中的约束条件,如设备的最大能力和制冷/制热模式之间的互斥关系。此外,作者分享了一些实用技巧,例如引入混合优化方法以加快收敛速度,以及在目标函数中加入额外的惩罚项来减少不必要的模式切换。最终,通过对优化结果的可视化分析,验证了所提出的方法能够显著降低能耗并提高系统的运行效率。 适用人群:从事暖通空调系统设计、优化及相关领域的工程师和技术人员,尤其是那些希望深入了解地表水源热泵系统特性和优化方法的专业人士。 使用场景及目标:适用于需要对地表水源热泵系统进行精确建模和优化的情景,旨在找到既满足建筑负荷需求又能使机组运行在最高效率点的制冷/制热量组合。主要目标是在保证室内舒适度的前提下,最大限度地节约能源并延长设备使用寿命。 其他说明:文中提供的Matlab代码片段可以帮助读者更好地理解和复现整个建模和优化过程。同时,作者强调了在实际工程项目中灵活调整相关参数的重要性,以便获得更好的优化效果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值