Lingo基本操作

前言

Lingo是一门主要求解非线性规划数学模型的编程软件,记得最初接触Lingo是在阅读《数学建模教程》一书,该书在第五章主要讲解使用Lingo来解决优化问题,也是在那个时候认识到了Lingo的强大之处。Lingo的使用就好比解决一道简单的数学问题,而你只需要使用Lingo支持的编程规范给其提供充足的已知条件即可,之后会自动使用相关算法为您解答。为了日后更加方便的查询Lingo相关知识,所以将Lingo的基本使用在此记录。

关于Lingo的下载及安装问题博主已做整理,可参考本篇教程 Lingo安装

一、Lingo基本运算符

1.1 算术运算符

^:乘方
*:乘
/:除
+:加
-:减

1.2 逻辑运算符

在Lingo中,逻辑运算符主要用于集循环函数的条件表达式中,来控制在函数中哪些集成员被包含,哪些被排斥。

符号 说明
#and# 且,&
#or# 或,||
#not# 非,!
#eq# 等于,==
#ne# 不等于,!=
#gt# 大于,>
#ge# 大于等于,>=
#lt# 小于,<
#le# 小于等于,<=

1.3 关系运算符

= 、<= 、 >=

二、函数

2.1 标准数学函数

函数 说明
@abs(x) 绝对值
@sin(x) 正弦值,采用弧度制
@cos(x) 余弦值
@tan(x) 正切
@exp(x) 指数,aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAiCAYAAABbXymAAAABhklEQVRIS+2UPctBYRjHf8dbKcqAUXkZlbJKGSkmq+V8AYtNvoDJoPgGyqjEwmSUkhiVhUEiC4N0dN/lqfN4Xs556inDucbT3e9c9+9/3ZeiaZrGP5RigZ9WLRUf82WpeDMVx+ORwWDAfr8nGo2yXq8JhUIUi0UURdEtBsPh3e93JpMJqVSK1WrFdDqV0O12i6qqfweLXXW73XC5XPT7fTweD5lM5tv1ZbjjJ0HA2+02uVyOWCyGuInD4Xj5wZfgzWZDt9uVXV0uF7LZLJFIhEajQT6fp9frUS6XuV6vCO/xePx38Gw2o9VqUavVCIfDnE4nxuOx7LDT6RAMBiXQ6XTi8/mkDrvd/jP4cDhQrVZJp9OUSiWE19FohNvtlt/MlE7FfD6nUqmQTCbxer0EAgE5BeKqNpvNDJcXcLPZpF6v4/f7TYE+H9aBd7sdAiy6foLFI1gulxQKBVNd68DC6WKxYDgcypDO5zOJREL6FWGZKdNzbBRugd9sHxsNTpyzwrPCe52XB08LC6ooqGhVAAAAAElFTkSuQmCC" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 0px auto; max-width: 100%; display: inline-block; vertical-align: middle;">
@log(x) 自然对数
@lgm(x) gamma函数的自然对数
@sign(x) x<0返回-1,否则返回返回1
@floor(x) 取整
@smax(aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGUAAAAiCAYAAABGIRcbAAAFWElEQVRoQ+1ZWUiVaxRdmpZomlmUSg5FWBb1kkpaWqDiUBqhiA1EUVIgRJhmhgNOKKghomLqgw/6YEY0WFZQBkFKJmiYQT6YAw6UmAMOSRprwzl4btfpaPbfy7/hf/Cc79/T2nvt/R0NZmZmZqCKojJgoIKiKDzEGRUU5WGigqJATFRQVFCUmAEF+qTOFBUUBWZAgS6pnaKCosAMKNAltVNUUBSYAQW6pHaKCooCM6BAl9RO+S+AMjg4iMrKSvz48QOGhoZwc3NDQ0MDRkdHcf78eWzdulXvMH7+/IknT56gq6sL3759Q1BQEBobG/H9+3ccOnQIHh4eeuv+2y92dnbi4cOHmJqawpYtW2Bra4vW1lYw5kuXLsHMzGzRLup0ysTEBB49eoSAgAAYGxsjKytLlLu7u+PWrVtITU3Fvn37RDmNNzc3Y8+ePTA1NV2UwdraWtG3a9cuPH36FM+ePUN0dDTy8/Pls4sXL2J8fBx3797Fly9fYGlpiQsXLsDCwmJR+v/WIRbyy5cvceLECYyNjeHmzZtScObm5rhz5w4yMjJgZ2e3aPd0QGH18tm9e7d0RlJSEk6fPo29e/eit7cXDg4O0j3V1dX48OED+vr6BKgNGzYsaJAg8p39+/cL4OXl5RgZGcHly5fR0dEBGxsbmJiYoKamBk5OTnB0dERZWRnWrl2Ls2fPwsDAYEEbf+sAu4Rib28veUpPT8f169dhZWUleWQhLsX/OWdKW1sbbt++jcTEREnYP4WJLCwslA5aDCiz32c10XFfX18cPXpU+xUp8/79+wgODpbuI7Wxo2JiYgSw+YTVSn8OHz6MI0eO6BwlAxQXF2Pbtm1SzWvWrNF+z2KpqKiQv8+cOSMFsxypq6vDvXv3kJycjPXr1+ulSgcUOkjaIOJsRyZFk5CWlhbs2LFDS1VLBYX/de7u7pb3WT1s6bi4OOk+Vtf09DQ2bdqE7OxsSaqnp6d05KdPn3Dt2rUFk9XT04P4+Hj4+/sjLCxMJxnDw8NISUnBzp07ERERoQMKAcvNzZXztLMQ+P+WZergnNR0N89wjjAmzhUyz9evXyUe6t+8ebPQ/9DQEE6dOvVbbDqgEGUmJS0tTWYLOZ30Qkp7/fo1Tp48qQ1oqaBQR2xsrJZrWU2ZmZlSTQ8ePBAgCAqXCrb7xo0bkZOTg9DQUJlbShbG8uLFC4mP85EMEBgYiPb2dnz+/Bl+fn548+aNzBievXHjBlikeXl5uHr16m9MowMK0S4pKZHkuLq64tWrV5IcKgsJCdHZIOYChY5wQbhy5YrMD42wmqibFOXs7CyVw2fdunU4fvw4tm/frj1Lhx8/fgxra2vxQ8PHPE+gfHx85FlNmc92U1OTFDFz5eLiIhsmKZ90SXCMjIykM96+fSsFzkIjO3CuRkZG/rYo6X1PmQsUtmtCQoJscGxhfYRBTk5Oyjo+e0AyEC4fpImoqCi9qEYff/jOcm2z0EpLS3Hw4EHZYMk8pPPw8HBhn9lxrjgoDIAcTqMc2EsVdtrHjx9lYDOQ+vp6eHt7yxZGYadxQyPoms+WakPf88uxzeWmoKBANkneY4qKiuDl5YWBgQG5o81eMPQChfz4/v17vHv3ThQzgZr7CwNmUklXBw4cWFL8DJoz7fnz59r3zp07J/cXjXCgUz95e7VlObb7+/tRVVUl7EHK5pbJhYcFR5qbLXqBMl8yeDvnlkHe1GeTmU83QePF8tixY8LfqymraXvFQSHl8OEl808If7aYfc/4Ezbm0rlatlcclNVM0v/VlgqKApFVQVFBUWAGFOiS2ikqKArMgAJdUjtFgaD8Ar6m8bmr8ovgAAAAAElFTkSuQmCC" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 0px auto; max-width: 100%; display: inline-block; vertical-align: middle;">) 取(aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGUAAAAiCAYAAABGIRcbAAAFWElEQVRoQ+1ZWUiVaxRdmpZomlmUSg5FWBb1kkpaWqDiUBqhiA1EUVIgRJhmhgNOKKghomLqgw/6YEY0WFZQBkFKJmiYQT6YAw6UmAMOSRprwzl4btfpaPbfy7/hf/Cc79/T2nvt/R0NZmZmZqCKojJgoIKiKDzEGRUU5WGigqJATFRQVFCUmAEF+qTOFBUUBWZAgS6pnaKCosAMKNAltVNUUBSYAQW6pHaKCooCM6BAl9RO+S+AMjg4iMrKSvz48QOGhoZwc3NDQ0MDRkdHcf78eWzdulXvMH7+/IknT56gq6sL3759Q1BQEBobG/H9+3ccOnQIHh4eeuv+2y92dnbi4cOHmJqawpYtW2Bra4vW1lYw5kuXLsHMzGzRLup0ysTEBB49eoSAgAAYGxsjKytLlLu7u+PWrVtITU3Fvn37RDmNNzc3Y8+ePTA1NV2UwdraWtG3a9cuPH36FM+ePUN0dDTy8/Pls4sXL2J8fBx3797Fly9fYGlpiQsXLsDCwmJR+v/WIRbyy5cvceLECYyNjeHmzZtScObm5rhz5w4yMjJgZ2e3aPd0QGH18tm9e7d0RlJSEk6fPo29e/eit7cXDg4O0j3V1dX48OED+vr6BKgNGzYsaJAg8p39+/cL4OXl5RgZGcHly5fR0dEBGxsbmJiYoKamBk5OTnB0dERZWRnWrl2Ls2fPwsDAYEEbf+sAu4Rib28veUpPT8f169dhZWUleWQhLsX/OWdKW1sbbt++jcTEREnYP4WJLCwslA5aDCiz32c10XFfX18cPXpU+xUp8/79+wgODpbuI7Wxo2JiYgSw+YTVSn8OHz6MI0eO6BwlAxQXF2Pbtm1SzWvWrNF+z2KpqKiQv8+cOSMFsxypq6vDvXv3kJycjPXr1+ulSgcUOkjaIOJsRyZFk5CWlhbs2LFDS1VLBYX/de7u7pb3WT1s6bi4OOk+Vtf09DQ2bdqE7OxsSaqnp6d05KdPn3Dt2rUFk9XT04P4+Hj4+/sjLCxMJxnDw8NISUnBzp07ERERoQMKAcvNzZXztLMQ+P+WZergnNR0N89wjjAmzhUyz9evXyUe6t+8ebPQ/9DQEE6dOvVbbDqgEGUmJS0tTWYLOZ30Qkp7/fo1Tp48qQ1oqaBQR2xsrJZrWU2ZmZlSTQ8ePBAgCAqXCrb7xo0bkZOTg9DQUJlbShbG8uLFC4mP85EMEBgYiPb2dnz+/Bl+fn548+aNzBievXHjBlikeXl5uHr16m9MowMK0S4pKZHkuLq64tWrV5IcKgsJCdHZIOYChY5wQbhy5YrMD42wmqibFOXs7CyVw2fdunU4fvw4tm/frj1Lhx8/fgxra2vxQ8PHPE+gfHx85FlNmc92U1OTFDFz5eLiIhsmKZ90SXCMjIykM96+fSsFzkIjO3CuRkZG/rYo6X1PmQsUtmtCQoJscGxhfYRBTk5Oyjo+e0AyEC4fpImoqCi9qEYff/jOcm2z0EpLS3Hw4EHZYMk8pPPw8HBhn9lxrjgoDIAcTqMc2EsVdtrHjx9lYDOQ+vp6eHt7yxZGYadxQyPoms+WakPf88uxzeWmoKBANkneY4qKiuDl5YWBgQG5o81eMPQChfz4/v17vHv3ThQzgZr7CwNmUklXBw4cWFL8DJoz7fnz59r3zp07J/cXjXCgUz95e7VlObb7+/tRVVUl7EHK5pbJhYcFR5qbLXqBMl8yeDvnlkHe1GeTmU83QePF8tixY8LfqymraXvFQSHl8OEl808If7aYfc/4Ezbm0rlatlcclNVM0v/VlgqKApFVQVFBUWAGFOiS2ikqKArMgAJdUjtFgaD8Ar6m8bmr8ovgAAAAAElFTkSuQmCC" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 0px auto; max-width: 100%; display: inline-block; vertical-align: middle;">) 中的最大值
@smin(aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGUAAAAiCAYAAABGIRcbAAAFWElEQVRoQ+1ZWUiVaxRdmpZomlmUSg5FWBb1kkpaWqDiUBqhiA1EUVIgRJhmhgNOKKghomLqgw/6YEY0WFZQBkFKJmiYQT6YAw6UmAMOSRprwzl4btfpaPbfy7/hf/Cc79/T2nvt/R0NZmZmZqCKojJgoIKiKDzEGRUU5WGigqJATFRQVFCUmAEF+qTOFBUUBWZAgS6pnaKCosAMKNAltVNUUBSYAQW6pHaKCooCM6BAl9RO+S+AMjg4iMrKSvz48QOGhoZwc3NDQ0MDRkdHcf78eWzdulXvMH7+/IknT56gq6sL3759Q1BQEBobG/H9+3ccOnQIHh4eeuv+2y92dnbi4cOHmJqawpYtW2Bra4vW1lYw5kuXLsHMzGzRLup0ysTEBB49eoSAgAAYGxsjKytLlLu7u+PWrVtITU3Fvn37RDmNNzc3Y8+ePTA1NV2UwdraWtG3a9cuPH36FM+ePUN0dDTy8/Pls4sXL2J8fBx3797Fly9fYGlpiQsXLsDCwmJR+v/WIRbyy5cvceLECYyNjeHmzZtScObm5rhz5w4yMjJgZ2e3aPd0QGH18tm9e7d0RlJSEk6fPo29e/eit7cXDg4O0j3V1dX48OED+vr6BKgNGzYsaJAg8p39+/cL4OXl5RgZGcHly5fR0dEBGxsbmJiYoKamBk5OTnB0dERZWRnWrl2Ls2fPwsDAYEEbf+sAu4Rib28veUpPT8f169dhZWUleWQhLsX/OWdKW1sbbt++jcTEREnYP4WJLCwslA5aDCiz32c10XFfX18cPXpU+xUp8/79+wgODpbuI7Wxo2JiYgSw+YTVSn8OHz6MI0eO6BwlAxQXF2Pbtm1SzWvWrNF+z2KpqKiQv8+cOSMFsxypq6vDvXv3kJycjPXr1+ulSgcUOkjaIOJsRyZFk5CWlhbs2LFDS1VLBYX/de7u7pb3WT1s6bi4OOk+Vtf09DQ2bdqE7OxsSaqnp6d05KdPn3Dt2rUFk9XT04P4+Hj4+/sjLCxMJxnDw8NISUnBzp07ERERoQMKAcvNzZXztLMQ+P+WZergnNR0N89wjjAmzhUyz9evXyUe6t+8ebPQ/9DQEE6dOvVbbDqgEGUmJS0tTWYLOZ30Qkp7/fo1Tp48qQ1oqaBQR2xsrJZrWU2ZmZlSTQ8ePBAgCAqXCrb7xo0bkZOTg9DQUJlbShbG8uLFC4mP85EMEBgYiPb2dnz+/Bl+fn548+aNzBievXHjBlikeXl5uHr16m9MowMK0S4pKZHkuLq64tWrV5IcKgsJCdHZIOYChY5wQbhy5YrMD42wmqibFOXs7CyVw2fdunU4fvw4tm/frj1Lhx8/fgxra2vxQ8PHPE+gfHx85FlNmc92U1OTFDFz5eLiIhsmKZ90SXCMjIykM96+fSsFzkIjO3CuRkZG/rYo6X1PmQsUtmtCQoJscGxhfYRBTk5Oyjo+e0AyEC4fpImoqCi9qEYff/jOcm2z0EpLS3Hw4EHZYMk8pPPw8HBhn9lxrjgoDIAcTqMc2EsVdtrHjx9lYDOQ+vp6eHt7yxZGYadxQyPoms+WakPf88uxzeWmoKBANkneY4qKiuDl5YWBgQG5o81eMPQChfz4/v17vHv3ThQzgZr7CwNmUklXBw4cWFL8DJoz7fnz59r3zp07J/cXjXCgUz95e7VlObb7+/tRVVUl7EHK5pbJhYcFR5qbLXqBMl8yeDvnlkHe1GeTmU83QePF8tixY8LfqymraXvFQSHl8OEl808If7aYfc/4Ezbm0rlatlcclNVM0v/VlgqKApFVQVFBUWAGFOiS2ikqKArMgAJdUjtFgaD8Ar6m8bmr8ovgAAAAAElFTkSuQmCC" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 0px auto; max-width: 100%; display: inline-block; vertical-align: middle;">) 取(aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGUAAAAiCAYAAABGIRcbAAAFWElEQVRoQ+1ZWUiVaxRdmpZomlmUSg5FWBb1kkpaWqDiUBqhiA1EUVIgRJhmhgNOKKghomLqgw/6YEY0WFZQBkFKJmiYQT6YAw6UmAMOSRprwzl4btfpaPbfy7/hf/Cc79/T2nvt/R0NZmZmZqCKojJgoIKiKDzEGRUU5WGigqJATFRQVFCUmAEF+qTOFBUUBWZAgS6pnaKCosAMKNAltVNUUBSYAQW6pHaKCooCM6BAl9RO+S+AMjg4iMrKSvz48QOGhoZwc3NDQ0MDRkdHcf78eWzdulXvMH7+/IknT56gq6sL3759Q1BQEBobG/H9+3ccOnQIHh4eeuv+2y92dnbi4cOHmJqawpYtW2Bra4vW1lYw5kuXLsHMzGzRLup0ysTEBB49eoSAgAAYGxsjKytLlLu7u+PWrVtITU3Fvn37RDmNNzc3Y8+ePTA1NV2UwdraWtG3a9cuPH36FM+ePUN0dDTy8/Pls4sXL2J8fBx3797Fly9fYGlpiQsXLsDCwmJR+v/WIRbyy5cvceLECYyNjeHmzZtScObm5rhz5w4yMjJgZ2e3aPd0QGH18tm9e7d0RlJSEk6fPo29e/eit7cXDg4O0j3V1dX48OED+vr6BKgNGzYsaJAg8p39+/cL4OXl5RgZGcHly5fR0dEBGxsbmJiYoKamBk5OTnB0dERZWRnWrl2Ls2fPwsDAYEEbf+sAu4Rib28veUpPT8f169dhZWUleWQhLsX/OWdKW1sbbt++jcTEREnYP4WJLCwslA5aDCiz32c10XFfX18cPXpU+xUp8/79+wgODpbuI7Wxo2JiYgSw+YTVSn8OHz6MI0eO6BwlAxQXF2Pbtm1SzWvWrNF+z2KpqKiQv8+cOSMFsxypq6vDvXv3kJycjPXr1+ulSgcUOkjaIOJsRyZFk5CWlhbs2LFDS1VLBYX/de7u7pb3WT1s6bi4OOk+Vtf09DQ2bdqE7OxsSaqnp6d05KdPn3Dt2rUFk9XT04P4+Hj4+/sjLCxMJxnDw8NISUnBzp07ERERoQMKAcvNzZXztLMQ+P+WZergnNR0N89wjjAmzhUyz9evXyUe6t+8ebPQ/9DQEE6dOvVbbDqgEGUmJS0tTWYLOZ30Qkp7/fo1Tp48qQ1oqaBQR2xsrJZrWU2ZmZlSTQ8ePBAgCAqXCrb7xo0bkZOTg9DQUJlbShbG8uLFC4mP85EMEBgYiPb2dnz+/Bl+fn548+aNzBievXHjBlikeXl5uHr16m9MowMK0S4pKZHkuLq64tWrV5IcKgsJCdHZIOYChY5wQbhy5YrMD42wmqibFOXs7CyVw2fdunU4fvw4tm/frj1Lhx8/fgxra2vxQ8PHPE+gfHx85FlNmc92U1OTFDFz5eLiIhsmKZ90SXCMjIykM96+fSsFzkIjO3CuRkZG/rYo6X1PmQsUtmtCQoJscGxhfYRBTk5Oyjo+e0AyEC4fpImoqCi9qEYff/jOcm2z0EpLS3Hw4EHZYMk8pPPw8HBhn9lxrjgoDIAcTqMc2EsVdtrHjx9lYDOQ+vp6eHt7yxZGYadxQyPoms+WakPf88uxzeWmoKBANkneY4qKiuDl5YWBgQG5o81eMPQChfz4/v17vHv3ThQzgZr7CwNmUklXBw4cWFL8DJoz7fnz59r3zp07J/cXjXCgUz95e7VlObb7+/tRVVUl7EHK5pbJhYcFR5qbLXqBMl8yeDvnlkHe1GeTmU83QePF8tixY8LfqymraXvFQSHl8OEl808If7aYfc/4Ezbm0rlatlcclNVM0v/VlgqKApFVQVFBUWAGFOiS2ikqKArMgAJdUjtFgaD8Ar6m8bmr8ovgAAAAAElFTkSuQmCC" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 0px auto; max-width: 100%; display: inline-block; vertical-align: middle;">) 中的最小值

2.2 集循环函数

集循环函数用于遍历整个集,其基本语法如下:

@function(setname[(set_index_list)[|conditional_qualifier]]:
expression_list);

@function相应于下面罗列的四个集循环函数之一;setname是要遍历的集;set_ index_list是集索引列表;conditional_qualifier是用来限制集循环函数的范围,当集循环函数遍历集的每个成员时,LINGO都要对conditional_qualifier进行评价,若结果为真,则对该成员执行@function操作,否则跳过,继续执行下一次循环。expression_list是被应用到每个集成员的表达式列表,当用的是@for函数时,expression_list可以包含多个表达式,其间用逗号隔开。这些表达式将被作为约束加到模型中。当使用其余的三个集循环函数时,expression_list只能有一个表达式。如果省略set_index_list,那么在expression_list中引用的所有属性的类型都是setname集。

2.2.1 @for

@for函数用来对集中的成员形成约束。

例:产生序列[1,4,9,16,25]

sets:
nums/1..5/: x;
endsets

@for(nums(i): x(i)=i^2);

2.2.2 @sum

@sum函数返回遍历指定集成员的一个表达式的和

例:求[1,2,3,4,5,6,7]中前五个数的和

sets:
nums/1..7/: x;
endsets

@for(nums(i): x(i)=i);

s = @sum(nums(i) | i #le# 5: x(i));

2.2.3 @max,@min

这两个函数分别用于返回指定集成员的一个表达式的最大值和最小值

例:求[1,2,3,4,5,6,7,8,9,10]中前五个数的最大值,后五个数的最小值

sets:
nums/1..10/: x;
endsets

@for(nums(i): x(i)=i);

min_value = @max(nums(i) | i #le# 5: x);
max_value = @min(nums(i) | i #ge# 6: x);

2.2.4 变量界定函数

该函数主要是对决策变量做附加限制,一般用于@for函数中,主要有如下四种:

函数 说明
@bin(x) 限制x为0或1
@bnd(a,x,b) 限制x取a到b之间的值
@free(x) x取实数
@gin(x) x取整数

2.2.5 说明

Lingo中还有其他大量的函数,比如金融函数、概率函数、变量界定函数,由于目前博主占时用不上,所以就暂且不记录了,待需要时再做进一步更新。

三、待更新

Lingo基本操作的更多相关文章

  1. Lingo解决最优化问题

    目录 Lingo解决优化问题 前言 一.优化模型介绍 二.运输问题 2.1 问题描述 2.2 问题分析 2.2 优化模型构建 2.3 模型求解 2.4 求解结果 三.待更新 Lingo解决优化问题 @ ...

  2. Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作

    一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...

  3. Android Notification 详解(一)——基本操作

    Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...

  4. Android Notification 详解——基本操作

    Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...

  5. 三、Redis基本操作——List

    小喵的唠叨话:前面我们介绍了Redis的string的数据结构的原理和操作.当时我们提到Redis的键值对不仅仅是字符串.而这次我们就要介绍Redis的第二个数据结构了,List(链表).由于List ...

  6. 二、Redis基本操作——String(实战篇)

    小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...

  7. 一、Redis基本操作——String(原理篇)

    小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本<Redis设计与实现>[1]来看看.这里权当小喵看书的笔记啦.这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照 ...

  8. Linq查询基本操作

    摘要:本文介绍Linq查询基本操作(查询关键字) - from 子句 - where 子句 - select子句 - group 子句 - into 子句 - orderby 子句 - join 子句 ...

  9. C++ map的基本操作和使用

    原文地址:http://blog.sina.com.cn/s/blog_61533c9b0100fa7w.html Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可 ...

随机推荐

  1. EJB 3.1 @Startup @Singleton sequence

    The annotation javax.ejb.Startup (@Startup) is used to mark an EJB so to make the EJB can be brought ...

  2. 远程计算机或设备将不接受连接,IE无法上网

    遇到一个奇葩问题,IE浏览器突然不能上网了,但是其他浏览器可以,QQ什么的也都正常,只有IE是出现:远程计算机或设备将不接受连接 这个问题,网上找了很多答案都没用,什么设置WINS,允许远程访问,取消 ...

  3. June 23rd 2017 Week 25th Friday

    Life doesn't get easier, you just get stronger. 生活从未变得轻松,是你在一点一点变得坚强. So in the same way we can get ...

  4. ZT 创建类模式总结篇

    创建类模式总结篇 分类: 设计模式 2012-03-26 09:03 7320人阅读 评论(11) 收藏 举报 编程优化设计模式任务 创建类模式主要关注对象的创建过程,将对象的创建过程进行封装,使客户 ...

  5. 20140322 卡迪夫城VS利物浦,拔出重剑,有惊无险

    一.菱形442 起初在客战南安普顿的时候,罗杰斯启用了菱形442阵式,阵容和今天客战卡迪夫城几乎一样,只是格伦·约翰逊打左后卫,弗拉纳甘任职右后卫,目的是为了在客场抵御卢克·肖+拉拉纳.当时库蒂尼奥的 ...

  6. 自动生成气泡对话框的jQuery插件CreateBubble.js

    之前在写一个界面,想要用到气泡,然而一直找不到现成的有效地办法,是在没有办法了我只好自己写一个,于是就有了现在的CreateBubble.js.很简单的一个函数,但是非常实用. 使用方法: 1.HTM ...

  7. java的串行化

    参考博客:Java 对象的串行化(Serialization) 1,什么是串行化 对象的寿命通常随着生成该对象的程序的终止而终止.有时候,可能需要将对象的状态保存下来,在需要时再将对象恢复.我们把对象 ...

  8. Thread-Specific-Storage for C/C++

    引用出处:https://www.cse.wustl.edu/~schmidt/PDF/TSS-pattern.pdf 摘要: 理论上多线程会提高程序性能,但实际上,由于在获取和释放锁的开销,多线程经 ...

  9. 安卓渗透测试工具Drozer学习笔记

    下载,并安装. pip安装即可,安装完成后可能会出现缺少twisted依赖库的问题 ➜ vul git:(master) ✗ drozer console connect drozer Server ...

  10. java Scanner和异常

    Java Scanner 类 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. 下面是创建 Scanner 对象的基本语法: Scann ...