连接redis
$redis = new Redis();
r
e
d
i
s
−
>
c
o
n
n
e
c
t
(
redis->connect(
redis−>connect(host, $port);
$redis->auth(‘my pass’); //密码验证
常用方法
复制代码
$redis->set(‘1’,‘1’,3600);
// 批量操作
$redis->pipeline(); // 开始批量操作
$redis->get(“1”);
$redis->incr(“incr”,2); // 自增2
$redis->expire(‘incr’, 86400*20); // 设置key的过期时间
$data =
r
e
d
i
s
−
>
r
e
d
i
s
−
>
e
x
e
c
(
)
;
/
/
结
束
批
量
操
作
v
a
r
d
u
m
p
(
redis->redis->exec(); // 结束批量操作 var_dump(
redis−>redis−>exec();//结束批量操作vardump(data[0]); // 获取批量操作第一个 get
var_dump($data1); // 获取批量操作第一个 incr
$redis->close(); // 关闭redis连接
复制代码
集合相关方法
复制代码
// 添加元素进入集合
$redis->sAdd(‘lm_template_set_num’,1);
$redis->sAdd(‘lm_template_set_num’,2);
$redis->sAdd(‘lm_template_set_num’,3);
$redis->sAdd(‘lm_template_set_num’,4);
$redis->sAdd(‘lm_template_set_num’,5);
// 删除集合中指定的元素值,1 成功,0删除失败
$r =
r
e
d
i
s
−
>
s
R
e
m
(
′
l
m
t
e
m
p
l
a
t
e
s
e
t
n
u
m
′
,
4
)
;
v
a
r
d
u
m
p
(
redis->sRem('lm_template_set_num',4); var_dump(
redis−>sRem(′lmtemplatesetnum′,4);vardump(r);
// 返回集合中元素的数量
$r =
r
e
d
i
s
−
>
s
C
a
r
d
(
′
l
m
t
e
m
p
l
a
t
e
s
e
t
n
u
m
′
)
;
v
a
r
d
u
m
p
(
redis->sCard('lm_template_set_num'); var_dump(
redis−>sCard(′lmtemplatesetnum′);vardump(r);
// 移除并返回集合中的一个随机元素
$r =
r
e
d
i
s
−
>
s
P
o
p
(
′
l
m
t
e
m
p
l
a
t
e
s
e
t
n
u
m
′
)
;
v
a
r
d
u
m
p
(
redis->sPop('lm_template_set_num'); var_dump(
redis−>sPop(′lmtemplatesetnum′);vardump(r);
// 返回集合中的一个随机元素。$num 随机取的个数
$r =
r
e
d
i
s
−
>
s
R
a
n
d
M
e
m
b
e
r
(
′
l
m
t
e
m
p
l
a
t
e
s
e
t
n
u
m
′
,
redis->sRandMember('lm_template_set_num',
redis−>sRandMember(′lmtemplatesetnum′,num);
var_dump($r);
// 判断成员元素是否是集合的成员。1 存在 0 不存在
$r =
r
e
d
i
s
−
>
s
I
s
M
e
m
b
e
r
(
′
l
m
t
e
m
p
l
a
t
e
s
e
t
n
u
m
′
,
1
)
;
v
a
r
d
u
m
p
(
redis->sIsMember('lm_template_set_num',1); var_dump(
redis−>sIsMember(′lmtemplatesetnum′,1);vardump(r);
// 获取集合中所有的元素
$r =
r
e
d
i
s
−
>
s
M
e
m
b
e
r
s
(
′
l
m
t
e
m
p
l
a
t
e
s
e
t
n
u
m
′
)
;
v
a
r
d
u
m
p
(
redis->sMembers('lm_template_set_num'); var_dump(
redis−>sMembers(′lmtemplatesetnum′);vardump(r);
复制代码
有序集合相关方法:
复制代码
// 向有序集合添加一个或多个成员,或者更新已存在成员的分数
$redis->zAdd(‘lm_template_set_num’,1 “one”);
$redis->zAdd(‘lm_template_set_num’,2 “two”);
$redis->zAdd(‘lm_template_set_num’,1 “three”);
// 计算集合中元素的数量
$r =
r
e
d
i
s
−
>
z
C
a
r
d
(
′
l
m
t
e
m
p
l
a
t
e
s
e
t
n
u
m
′
)
;
v
a
r
d
u
m
p
(
redis->zCard('lm_template_set_num'); var_dump(
redis−>zCard(′lmtemplatesetnum′);vardump(r);
// 计算在有序集合中指定区间分数的成员数
// 返回名称为key的zset中score >= star且score <= end的所有元素的个数
$r =
r
e
d
i
s
−
>
z
C
o
u
n
t
(
′
l
m
t
e
m
p
l
a
t
e
s
e
t
n
u
m
′
,
1
,
3
)
;
v
a
r
d
u
m
p
(
redis->zCount('lm_template_set_num',1,3); var_dump(
redis−>zCount(′lmtemplatesetnum′,1,3);vardump(r);
// 有序集合中对指定成员的分数加上增量 increment
$r =
r
e
d
i
s
−
>
z
I
n
c
r
B
y
(
′
l
m
t
e
m
p
l
a
t
e
s
e
t
n
u
m
′
,
1
,
"
t
h
r
e
e
"
)
;
v
a
r
d
u
m
p
(
redis->zIncrBy('lm_template_set_num',1,"three"); var_dump(
redis−>zIncrBy(′lmtemplatesetnum′,1,"three");vardump(r);
// 通过索引区间返回有序集合成指定区间内的成员
$r = $redis->zRange(‘lm_template_set_num’,0,-1); // 递增排列
$r =
r
e
d
i
s
−
>
z
R
e
v
R
a
n
g
e
(
′
l
m
t
e
m
p
l
a
t
e
s
e
t
n
u
m
′
,
0
,
−
1
)
;
/
/
递
减
排
列
v
a
r
d
u
m
p
(
redis->zRevRange('lm_template_set_num',0,-1); // 递减排列 var_dump(
redis−>zRevRange(′lmtemplatesetnum′,0,−1);//递减排列vardump(r);
// 返回有序集合中指定成员的索引
$r =
r
e
d
i
s
−
>
z
R
a
n
k
(
′
l
m
t
e
m
p
l
a
t
e
s
e
t
n
u
m
′
,
"
t
h
r
e
e
"
)
;
/
/
从
低
到
高
显
示
t
h
r
e
e
的
排
名
v
a
r
d
u
m
p
(
redis->zRank('lm_template_set_num', "three"); // 从低到高 显示three 的排名 var_dump(
redis−>zRank(′lmtemplatesetnum′,"three");//从低到高显示three的排名vardump(r);
$r =
r
e
d
i
s
−
>
z
R
e
v
R
a
n
k
(
′
l
m
t
e
m
p
l
a
t
e
s
e
t
n
u
m
′
,
"
t
h
r
e
e
"
)
;
/
/
从
高
到
低
显
示
t
h
r
e
e
的
排
名
v
a
r
d
u
m
p
(
redis->zRevRank('lm_template_set_num', "three"); // 从高到低 显示three 的排名 var_dump(
redis−>zRevRank(′lmtemplatesetnum′,"three");//从高到低显示three的排名vardump(r);
// 移除有序集合中的一个或多个成员
$r =
r
e
d
i
s
−
>
z
R
e
m
(
′
l
m
t
e
m
p
l
a
t
e
s
e
t
n
u
m
′
,
"
t
h
r
e
e
"
)
;
/
/
显
示
移
除
t
h
r
e
e
v
a
r
d
u
m
p
(
redis->zRem('lm_template_set_num', "three"); // 显示移除three var_dump(
redis−>zRem(′lmtemplatesetnum′,"three");//显示移除threevardump(r);
// 返回有序集中,成员的分数值
$r =
r
e
d
i
s
−
>
z
S
c
o
r
e
(
′
l
m
t
e
m
p
l
a
t
e
s
e
t
n
u
m
′
,
"
t
h
r
e
e
"
)
;
v
a
r
d
u
m
p
(
redis->zScore('lm_template_set_num', "three"); var_dump(
redis−>zScore(′lmtemplatesetnum′,"three");vardump(r);
复制代码
列表
复制代码
$key = ‘lm_list’;
// 将一个或多个值插入到列表头部
r
e
d
i
s
−
>
l
P
u
s
h
(
redis->lPush(
redis−>lPush(key,1);
//将一个或多个值插入到已存在的列表头部 列表不存在时操作无效。
r
e
d
i
s
−
>
l
P
u
s
h
x
(
redis->lPushx(
redis−>lPushx(key,1);
// 在列表中添加一个或多个值
r
e
d
i
s
−
>
r
P
u
s
h
(
redis->rPush(
redis−>rPush(key,1);
//为已存在的列表添加值 列表不存在时操作无效。
r
e
d
i
s
−
>
r
P
u
s
h
x
(
redis->rPushx(
redis−>rPushx(key,1);
//用于通过索引获取列表中的元素。你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
r
e
d
i
s
−
>
l
I
n
d
e
x
(
redis->lIndex(
redis−>lIndex(key,1);
// 获取列表长度
r
e
d
i
s
−
>
l
L
e
n
(
redis->lLen(
redis−>lLen(key);
// 移出并获取列表的第一个元素
r
e
d
i
s
−
>
l
P
o
p
(
redis->lPop(
redis−>lPop(key);
//移除并获取列表最后一个元素
r
e
d
i
s
−
>
r
P
o
p
(
redis->rPop(
redis−>rPop(key);
// 获取列表指定范围内的元素
r
e
d
i
s
−
>
l
R
a
n
g
e
(
redis->lRange(
redis−>lRange(key,0,-1);
// 移除列表元素
r
e
d
i
s
−
>
l
R
e
m
(
redis->lRem(
redis−>lRem(key,1,0);
// 通过索引设置列表元素的值
r
e
d
i
s
−
>
l
S
e
t
(
redis->lSet(
redis−>lSet(key,0,‘bar’);
复制代码
哈希
复制代码
$key = ‘lm_hash’;
// 添加元素进入哈希表中。
r
e
d
i
s
−
>
h
S
e
t
(
redis->hSet(
redis−>hSet(key,1,2);
// 用于同时将多个 field-value (字段-值)对设置到哈希表中。
r
e
d
i
s
−
>
h
M
s
e
t
(
redis->hMset(
redis−>hMset(key,array(1=>1,2=>2,3=>3));
// 只有在字段 field 不存在时,设置哈希表字段的值。
r
e
d
i
s
−
>
h
S
e
t
N
x
(
redis->hSetNx(
redis−>hSetNx(key,1,2);
// 返回哈希表中指定字段的值
$res =
r
e
d
i
s
−
>
h
G
e
t
(
redis->hGet(
redis−>hGet(key,1);
print_r($res);
// 返回哈希表中一个或多个给定字段的值
$res =
r
e
d
i
s
−
>
h
M
G
e
t
(
redis->hMGet(
redis−>hMGet(key,array(1,2));
print_r($res);
// 返回哈希表中所有的字段和值
$res =
r
e
d
i
s
−
>
h
G
e
t
A
l
l
(
redis->hGetAll(
redis−>hGetAll(key);
print_r($res);
// 查看哈希表 key 中,指定的字段是否存在。
r
e
d
i
s
−
>
h
E
x
i
s
t
s
(
redis->hExists(
redis−>hExists(key,1);
// 删除一个或多个哈希表字段
r
e
d
i
s
−
>
h
D
e
l
(
redis->hDel(
redis−>hDel(key,1);
// 用于为哈希表中的字段值加上指定增量值。 增量也可以为负数,相当于对指定字段进行减法操作。
$res =
r
e
d
i
s
−
>
h
I
n
c
r
B
y
(
redis->hIncrBy(
redis−>hIncrBy(key,3,1);
print_r($res);
// 用于为哈希表中的字段值加上指定浮点数增量值
r
e
d
i
s
−
>
h
I
n
c
r
B
y
F
l
o
a
t
(
redis->hIncrByFloat(
redis−>hIncrByFloat(key,3,0.1);
//用于获取哈希表中的所有字段名。
$res =
r
e
d
i
s
−
>
h
K
e
y
s
(
redis->hKeys(
redis−>hKeys(key);
print_r($res);
// 获取哈希表中所有值
$res =
r
e
d
i
s
−
>
h
V
a
l
s
(
redis->hVals(
redis−>hVals(key);
print_r($res);
//用于获取哈希表中字段的数量。
r
e
d
i
s
−
>
h
L
e
n
(
redis->hLen(
redis−>hLen(key);
复制代码
欢迎使用Markdown编辑器
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
新的改变
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- 全新的界面设计 ,将会带来全新的写作体验;
- 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
- 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
- 全新的 KaTeX数学公式 语法;
- 增加了支持甘特图的mermaid语法1 功能;
- 增加了 多屏幕编辑 Markdown文章功能;
- 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
- 增加了 检查列表 功能。
功能快捷键
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G
合理的创建标题,有助于目录的生成
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
如何改变文本的样式
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
插入链接与图片
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
生成一个适合你的列表
- 项目
- 项目
- 项目
- 项目
- 项目1
- 项目2
- 项目3
- 计划任务
- 完成任务
创建一个表格
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
设定内容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' | ‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" | “Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash | – is en-dash, — is em-dash |
创建一个自定义列表
-
Markdown
- Text-to- HTML conversion tool Authors
- John
- Luke
如何创建一个注脚
一个具有注脚的文本。2
注释也是必不可少的
Markdown将文本转换为 HTML。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
新的甘特图功能,丰富你的文章
- 关于 甘特图 语法,参考 这儿,
UML 图表
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:
这将产生一个流程图。:
- 关于 Mermaid 语法,参考 这儿,
FLowchart流程图
我们依旧会支持flowchart的流程图:
- 关于 Flowchart流程图 语法,参考 这儿.
导出与导入
导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
注脚的解释 ↩︎