Redis常用API

Redis常用API
Redis常用API

对value操作的命令

exists(key):确认一个key是否存在

del(key):删除一个key

type(key):返回值的类型

keys(pattern):返回满足给定pattern的所有key

randomkey:随机返回key空间的一个key

rename(oldname, newname):将key由oldname重命名为newname,若newname存在则删除newname表示的key dbsize:返回当前数据库中key的数目

expire:设定一个key的活动时间(s)

ttl:获得一个key的活动时间

select(index):按索引查询

move(key, dbindex):将当前数据库中的key转移到有dbindex索引的数据库

flushdb:删除当前选择数据库中的所有key

flushall:删除所有数据库中的所有key

对String操作的命令

set(key, value):给数据库中名称为key的string赋予值

value

get(key):返回数据库中名称为key的string的value

getset(key, value):给名称为key的string赋予上一次的value

mget(key1, key2,…, key N):返回库中多个string(它们的名称为key1,key2…)的value

setnx(key, value):如果不存在名称为key的string,则向库中添加string,名称为key,值为value

setex(key, time, value):向库中添加string(名称为key,值为value)同时,设定过期时间time

mset(key1, value1, key2, value2,…key N, value N):同时给多个string赋值,名称为key i的string赋值value i msetnx(key1, value1, key2, value2,…key N, value N):如果所有名称为key i的string都不存在,则向库中添加string,名称key i赋值为value i

incr(key):名称为key的string增1操作

incrby(key, integer):名称为key的string增加integer

decr(key):名称为key的string减1操作

decrby(key, integer):名称为key的string减少integer

append(key, value):名称为key的string的值附加value substr(key, start, end):返回名称为key的string的value 的子串

对List操作的命令

rpush(key, value):在名称为key的list尾添加一个值为value的元素

lpush(key, value):在名称为key的list头添加一个值为value的元素

llen(key):返回名称为key的list的长度

lrange(key, start, end):返回名称为key的list中start至end之间的元素(下标从0开始,下同)

ltrim(key, start, end):截取名称为key的list,保留start 至end之间的元素

lindex(key, index):返回名称为key的list中index位置的元素

lset(key, index, value):给名称为key的list中index位置的元素赋值为value

lrem(key, count, value):删除count个名称为key的list 中值为value的元素。count为0,删除所有值为value的元素,count>0 从头至尾删除count个值为value的元素,count<0从尾到头删除|count|个值为value的元素。

lpop(key):返回并删除名称为key的list中的首元素

rpop(key):返回并删除名称为key的list中的尾元素

blpop(key1, key2,… key N, timeout):lpop 命令的block 版本。即当timeout为0时,若遇到名称为key i的list不存在或该list为空,则命令结束。如果timeout>0,则遇到上述情况时,等待timeout秒,如果问题没有解决,则对key i+1开始的list执行pop操作。

brpop(key1, key2,… key N, timeout):rpop的block版本。参考上一命令。

rpoplpush(srckey, dstkey):返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部

对Set操作的命令

sadd(key, member):向名称为key的set中添加元素member

srem(key, member) :删除名称为key的set中的元素member

spop(key) :随机返回并删除名称为key的set中一个元素

smove(srckey, dstkey, member) :将member元素从名称为srckey的集合移到名称为dstkey的集合

scard(key) :返回名称为key的set的基数

sismember(key, member) :测试member是否是名称为

key的set的元素

sinter(key1, key2,…key N) :求交集

sinterstore(dstkey, key1, key2,…key N) :求交集并将交集保存到dstkey的集合

sunion(key1, key2,…key N) :求并集

sunionstore(dstkey, key1, key2,…key N) :求并集并将并集保存到dstkey的集合

sdiff(key1, key2,…key N) :求差集

sdiffstore(dstkey, key1, key2,…key N) :求差集并将差集保存到dstkey的集合

smembers(key) :返回名称为key的set的所有元素

srandmember(key) :随机返回名称为key的set的一个元素

对zset(sorted set)操作的命令

zadd(key, score, member):向名称为key的zset中添加元素member,score用于排序。如果该元素已经存在,则根据score 更新该元素的顺序。

zrem(key, member) :删除名称为key的zset中的元素member

zincrby(key, increment, member) :如果在名称为key

的zset中已经存在元素member,则该元素的score增加increment;否则向集合中添加该元素,其score的值为increment zrank(key, member) :返回名称为key的zset(元素已按score从小到大排序)中member元素的rank(即index,从0开始),若没有member元素,返回“nil”

zrevrank(key, member) :返回名称为key的zset(元素已按score从大到小排序)中member元素的rank(即index,从0开始),若没有member元素,返回“nil”

zrange(key, start, end):返回名称为key的zset(元素已按score从小到大排序)中的index从start到end的所有元素zrevrange(key, start, end):返回名称为key的zset(元素已按score从大到小排序)中的index从start到end的所有元素

zrangebyscore(key, min, max):返回名称为key的zset 中score >= min且score <= max的所有元素

zcard(key):返回名称为key的zset的基数

zscore(key, element):返回名称为key的zset中元素element的score

zremrangebyrank(key, min, max):删除名称为key的zset中rank >= min且rank <= max的所有元素

zremrangebyscore(key, min, max) :删除名称为key的zset中score >= min且score <= max的所有元素

zunionstore / zinterstore(dstkeyN, key1,…,keyN, WEIGHTS w1,…wN, AGGREGATE SUM|MIN|MAX):对N个zset求并集和交集,并将最后的集合保存在dstkeyN中。对于集合中每一个元素的score,在进行AGGREGATE运算前,都要乘以对于的WEIGHT参数。如果没有提供WEIGHT,默认为1。默认的AGGREGATE是SUM,即结果集合中元素的score是所有集合对应元素进行SUM运算的值,而MIN和MAX是指,结果集合中元素的score是所有集合对应元素中最小值和最大值。

对Hash操作的命令

hset(key, field, value):向名称为key的hash中添加元素field<—>value

hget(key, field):返回名称为key的hash中field对应的value

hmget(key, field1, …,field N):返回名称为key的hash中field i对应的value

hmset(key, field1, value1,…,field N, value N):向名称为key的hash中添加元素field i<—>value i

hincrby(key, field, integer):将名称为key的hash中field 的value增加integer

hexists(key, field):名称为key的hash中是否存在键为

field的域

hdel(key, field):删除名称为key的hash中键为field的域hlen(key):返回名称为key的hash中元素个数

hkeys(key):返回名称为key的hash中所有键

hvals(key):返回名称为key的hash中所有键对应的value hgetall(key):返回名称为key的hash中所有的键(field)及其对应的value

CAD常用命令汇总及详解

CAD中有哪些命令?我们可以把它们分为几类。一类是绘图类,二类是编辑类,三类是设置类,四类是其它类,包括标注、视图等。我们依次分析。 第一类,绘图类。常用的命令有: Line 直线 Xline 构造线 mline 双线 pline 多义线 rectang 矩形 arc 圆弧 circle 圆 hatch 填充 boundary 边界 block 定义块 insert 插入快 第二类,编辑类。常用的命令有: Matchprop 特性匹配 Hatchedit 填充图案编辑 Pedit 多义线编辑 Erase 擦除 Copy 拷贝 Mirror 镜像 Offset 平移 Array 阵列 Move 移动 Rotate 旋转 Scale 缩放 Stretch 拉伸 Lengthen 拉长 Trim 裁减 Extend 延伸 Break 打断 Fillet 倒圆角 Explode 炸裂 Align 对齐 Properties 属性

绘图工具栏: 直线(L):全称(line) 在屏幕上指定两点可画出一条直线。也可用相对坐标 或者在正交模式打开的情况下,直接给实际距离鼠标拖动来控制方向 构造线(XL):全称(xline) H为水平V为垂直O为偏移A为角度B为等分一个角度。 多段线(PL):全称(pline) 首先在屏幕上指定一点,然后有相应提示: 指定下一个点或[圆弧(A)/半宽(H)/长度(L)/放弃(U)/宽度(W)]。可根据需要来设置。 其中“圆弧”指定宽度可画任意角度圆弧;“半宽”指多段线的一半宽度,即如要高线宽为10,则5;“长度”给相应的值,则画出相应长度的多段线;“放弃”指放弃一次操作;“宽度”指多段线的宽度 多边形(pol):全称(polygon) 所绘制多边形为正多边形,边数可以自己设 E:根据边绘制多边形也可根据圆的半径利用外切和内接来画正多边形 矩形(REC):全称(rectang) 点击矩形工具后出现下列提示: 指定第一个角点或[倒角(C)/标高(E)/圆角(F)/厚度(T)/宽度(W)] 其中“倒角”是将90度直角的两条边割去一点。变成一个斜角。“标高”是空间上的意义可以在三视图当中展现出来,标高是相对的;“圆角”:即是将四个直角边倒成半径为X的圆角;“厚度”:空间上的意义,可在Z轴上表现出来“宽度”:平面空间的概念,指矩形四边的宽度。 圆弧(ARC或A):默认为3点画圆弧,成弧方向为逆时针,画优弧半径给负值。绘图菜单中有如下选项: 起点、圆心、端点; 起点、圆心、角度; 起点、圆心、长度; 起点、端点、角度; 起点、端点、方向; 起点、端点、半径; 圆心、起点、端点; 圆心、起点、角度; 圆心、起点、长度;

ORACLE SQLPLUS 常用命令及解释

Oracle SQLPlus常用命令及解释 1.@ 执行位于指定脚本中的SQLPlus语句。可以从本地文件系统或Web服务器中调用脚本。可以为脚本中的变量传递值。在iSQL*Plus中只能从Web服务器中调用脚本。 2.@@ 执行位于指定脚本中的SQL*Plus语句。这个命令和@(“at”符号)命令功能差不多。在执行嵌套的命令文件时它很有用,因为它会在与调用它的命令文件相同的路径或url中查找指定的命令文件。在iSQL*Plus中只支持url形式。 3./ 执行保存在SQL缓冲区中的最近执行的SQL命令或PL/SQL块。在SQL*Plus命令行中,可在命令提示符或行号提示符使用斜线(/)。也可在iSQL*Plus的输入区中使用斜线(/)。斜线不会列出要执行的命令。 4.ACCEPT 可以修改既有变量,也可定义一个新变量并等待用户输入初始值,读取一行输入并保存到给出的用户变量中。ACCEPT在iSQL*Plus中不可用。 5.APPEND 把指定文本添加到SQL缓冲区中当前行的后面。如果text的最前面包含一个空格可在APPEND和text间输入两个空格。如果text的最后是一个分号,可在命令结尾输入两个分号(SQL*Plus会把单个的分号解释为一个命令结束符)。APPEND 在iSQL*Plus中不可用。 6.ARCHIVE LOG 查看和管理归档信息。启动或停止自动归档联机重做日志,手工(显示地)归档指定的重做日志,或者显示重做日志文件的信息。 7.ATTRIBUTE 为对象类型列的给定属性指定其显示特性,或者列出单个属性或所有属性的当前显示特性。 8.BREAK 分开重复列。指定报表中格式发生更改的位置和要执行的格式化动作(例如,在列值每次发生变化时跳过一行)。只输入BREAK而不包含任何子句可列出当前的BREAK定义。 9.BTITLE 在每个报表页的底部放置一个标题并对其格式化,或者列出当前BTITLE定义。

Redis内存使用优化与存储

Redis内存使用优化与存储 Redis常用数据类型 Redis最为常用的数据类型主要有以下五种: ?String ?Hash ?List ?Set ?Sorted set 在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的: 首先Redis内部使用一个redisObject对象来表示所有的key和value,redisObject最主要的信息如上图所示:type代表一个value 对象具体是何种数据类型,encoding是不同数据类型在redis内部的存储方式,比如:type=string代表value存储的是一个普通字符串,那么对应的encoding可以是raw或者是int,如果是int则代表实际redis内部是按数值型类存储和表示这个字符串的,当然前提是这个字符串本身可以用数值表示,比如:"123" "456"这样的字符串。 这里需要特殊说明一下vm字段,只有打开了Redis的虚拟内存功能,此字段才会真正的分配内存,该功能默认是关闭状态的,该功能会在后面具体描述。通过上图我们可以发现Redis使用redisObject来表示所有的key/value数据是比较浪费内存的,当然这些内存管理成本的付出主要也是为了给Redis不同数据类型提供一个统一的管理接口,实际作者也提供了多种方法帮助我们尽量节省内存使用,我们随后会具体讨论。 下面我们先来逐一的分析下这五种数据类型的使用和内部实现方式: ?String 常用命令:

set,get,decr,incr,mget 等。 应用场景: String是最常用的一种数据类型,普通的key/value存储都可以归为此类,这里就不所做解释了。 实现方式: String在redis内部存储默认就是一个字符串,被redisObject所引用,当遇到incr,decr等操作时会转成数值型进行计算,此时redisObject的encoding字段为int。 Hash 常用命令: hget,hset,hgetall 等。 应用场景: 我们简单举个实例来描述下Hash的应用场景,比如我们要存储一个用户信息对象数据,包含以下信息: 用户ID为查找的key,存储的value用户对象包含姓名,年龄,生日等信息,如果用普通的key/value结构来存储,主要有以下2种存储方式: 第一种方式将用户ID作为查找key,把其他信息封装成一个对象以序列化的方式存储,这种方式的缺点是,增加了序列化/反序列化的开销,并且在需要修改其中一项信息时,需要把整个对象取回,并且修改操作需要对并发进行保护,引入CAS等复杂问题。

网络攻击常用命令综述

网络攻击常用命令综述 工欲善其事,必先利其器”——当然不是让你再满世界去找新的黑客软件啦(其实我不反对使用这些软件,相反我很喜欢用它们,但是必须是在知其所以然的情况下使用,才有可能对自身的电脑水平有所帮助),要进行入侵工作的话,至少(我认为)得装上NT操作系统,以它作为入侵平台,因为NT本身对网络的支持可以说比WIN9X来得更强大得多……当然,如果想对UNIX系统动点小手术(网络中的UNIX可始终还是主流呀)而又没钱装UNIX的话,LINUX也极佳 的选择(特别是现在国内至少有七八种中文LINUX版本——想当年要给REDHAT 配上中文支持是何等麻烦……),至少你可以借此了解UNIX系统的基本操作以及文件存放位置、系统配置、编译器、各种动作之后的记录等等…… 然后还得再学点编程语言,至少C与UNIX下的SHELL编程得会一点,能看懂人家写的利用各种漏洞的程序,能对它进行修改,偶尔还能写几个小程序放到网上让大伙儿乐乐,这样玩起来才可能有成就感(其实我自己还不太行,但这多少是个目标) 好了,废话少说,先讲讲一些MS系统里自带的相关网络程序的使用吧。 在MS的操作系统中,与网络安全较有关系的几个命令/程序 是:ping\winipcfg\tracert\net\at\netstat,且待我慢慢道来: 1. ping:这是TCP/IP协议中最有用的命令之一 它给另一个系统发送一系列的数据包,该系统本身又发回一个响应,这条实用程序对查找远程主机很有用,它返回的结果表示是否能到达主机,宿主机发送一个返回数据包需要多长时间。 Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] destination-list Options: -t Ping the specifed host until interrupted.(除非人为中止,否则一直ping下去) -a Resolve addresses to hostnames.(把IP转为主机名) -n count Number of echo requests to send.(响应请求的数量) -l size Send buffer size.(封包的大小)

Cad常用命令及使用方法

Cad常用命令及使用方法 一、绘图命令 直线:L 用法:输入命令L/回车/鼠标指定第一点/输入数值(也就是指定第二点)/回车(这时直线就画出来了)/回车(结束命令) 射线:RAY 用法:输入命令RAY/回车/鼠标指定射线起点/指定通过点/回车(结束命令) 构造线:XL 用法:输入命令XL/回车/鼠标指定构造线起点/指定通过点/回车(结束命令) 多段线:PL 用法1:同直线命令 用法2:输入命令PL/回车/指定起点/输入W(绘制带有宽度的线)/回车/指定线起点宽度/回车/指定线结束点宽度/回车/输入数值(线的长度值)/回车(结束命令) 正多边形:POL 用法:输入命令POL/回车/指定边数/回车/鼠标指定正多边形的中心点/输入选项(C外切于圆;I内接于圆)/回车/输入半径/回车(结束命令) 矩形:REC 用法1:输入命令REC/回车/鼠标指定第一角点/指定第二角点 用法2:输入命令REC/回车/输入C(绘制带有倒角的矩形)/回车/输入第一倒角值/回车/输入第二倒角值/回车/鼠标指定第一角点/指定第二角点 用法3:输入命令REC/回车/输入F(绘制带有圆角的矩形)/回车/输入圆角半径/回车/指定第一角点/指定第二角点 圆弧:A 用法:输入命令A/回车/指定圆弧起点/指定圆弧中点/指定圆弧结束点 (绘制圆弧的方法有11种,可参考绘图菜单---圆弧选项) 圆:C 用法:输入命令C/回车/鼠标指定圆心/输入半径值/回车(命令结束) (绘制圆的方法有6种,可参考绘图菜单---圆选项) 样条曲线:SPL 用法:输入命令SPL/回车/鼠标指定要绘制的范围即可/需要三下回车结束命令 椭圆:EL

Redis常用命令汇总

Redis常用命令汇总 Redis::__construct 描述: 创建一个Redis客户端 范例: $redis = new Redis(); connect, open 描述: 实例连接到一个Redis. 参数:host: string port: int 返回值:BOOL 成功返回:TRUE;失败返回:FALSE 范例: $redis->connect(‘127.0.0.1′, 6379); get 描述: 获取有关指定键的值 参数:key 返回值:string或BOLL 如果键不存在,则返回 FALSE。否则,与此相关的关键值返回。 范例: $redis->get(‘key’); set 描述: 设置关键值参数 参数:Key Value 返回值:BOOL 范例: $redis->set(‘key’, ‘value’) setnx

描述: 如果在数据库中不存在该键,设置关键值参数 参数:key value 返回值:BOOL 范例: $this->redis->setnx(‘key’, ‘value’); $this->redis->setnx(‘key’, ‘value’); delete 描述: 删除指定的键 参数:一个键,或不确定数目的参数,每一个关键的数组:key1 key2 key3 … keyN 返回值:删除的项数 范例: $redis->set(‘key1′, ‘val1′); $redis->set(‘key2′, ‘val2′); $redis->set(‘key3′, ‘val3′); $redis->set(‘key4′, ‘val4′); $redis->delete(‘key1′, ‘key2′); $redis->delete(array(‘key3′, ‘key4′)); exists 描述: 验证指定的键是否存在 参数key 返回值:Bool 范例: $this->set(‘key’, ‘value’); $this->exists(‘key’); $this->exists(‘NonExistingKey’); incr 描述:

CISCO 常用命令解释

视图模式介绍: 普通视图 router> 特权视图 router# /在普通模式下输入enable 全局视图 router(config)# /在特权模式下输入config t 接口视图 router(config-if)# /在全局模式下输入int 接口名称例如int s0或int e0 路由协议视图 router(config-route)# /在全局模式下输入router 动态路由协议名称 1、基本配置: router>enable /进入特权模式 router#conf t /进入全局配置模式 router(config)# hostname xxx /设置设备名称就好像给我们的计算机起个名字 router(config)#enable password /设置特权口令 router(config)#no ip domain lookup /不允许路由器缺省使用DNS解析命令 router(config)# Service password-encrypt /对所有在路由器上输入的口令进行暗文加密router(config)#line vty 0 4 /进入设置telnet服务模式 router(config-line)#password xxx /设置telnet的密码 router(config-line)#login /使能可以登陆 router(config)#line con 0 /进入控制口的服务模式 router(config-line)#password xxx /要设置console的密码 router(config-line)#login /使能可以登陆 2、接口配置: router(config)#int s0 /进入接口配置模式 serial 0 端口配置(如果是模块化的路由器前面加上槽位编号,例如serial0/0 代表这个路由器的0槽位上的第一个接口) router(config-if)#ip add xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx /添加ip 地址和掩码router(config-if)#enca hdlc/ppp 捆绑链路协议 hdlc 或者 ppp 思科缺省串口封装的链路层协议是HDLC所以在show run配置的时候接口上的配置没有,如果要封装为别的链路层协议例如PPP/FR/X25就是看到接口下的enca ppp或者enca fr router(config)#int loopback /建立环回口(逻辑接口)模拟不同的本机网段 router(config-if)#ip add xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx /添加ip 地址和掩码给环回口 在物理接口上配置了ip地址后用no shut启用这个物理接口反之可以用shutdown管理性的关闭接口 3、路由配置: (1)静态路由 router(config)#ip route xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx 下一条或自己的接口router(config)#ip route 0.0.0.0 0.0.0.0 s 0 添加缺省路由 (2)动态路由 rip协议 router(config)#router rip /启动rip协议 router(config-router)#network xxx.xxx.xxx.xxx /宣告自己的网段 router(config-router)#version 2 转换为rip 2版本 router(config-router)#no auto-summary /关闭自动汇总功能,rip V2才有作用 router(config-router)# passive-int 接口名 /启动本路由器的那个接口为被动接口

ANSYS常用命令解释

1,/PREP7!加载前处理模块 2,/CLEAR,NOSTART!清除已有的数据,不读入启动文件的设置(不加载初始化文件)初始化文件是用于记录用户和系统选项设置的文本文件/CLEAR, START!清除系统中的所有数据,读入启动文件的设置/FILENAME, EX10.5!定义工程文件名称/TITLE, EX10.5 SOLID MODEL OF AN AXIAL BEARING!指定标题4,F,2,FY,-1000!在2号节点上施加沿着-Y方向大小为1000N的集中力6,FINISH !退出模块命令 7,/POST1!加载后处理模块 8,PLDISP,2!显示结构变形图,参数“2”表示用虚线绘制出原来结构的轮廓9,ETABLE,STRS,LS,1!用轴向应力SAXL的编号”LS,1”定义单元表STRS ETABLE, MFORX,SMISC,1!以杆单元的轴力为内容,建立单元表MFORX ETABLE, SAXL, LS, 1!以杆单元的轴向应力为内容,建立单元表SAXL ETABLE, EPELAXL, LEPEL, 1!以杆单元的轴向应变为内容,建立单元表EPELAXL ETABLE,STRS_ST,LS,1!以杆件的轴向应力“LS,1”为内容定义单元表STRS_ST ETABLE, STRS_CO, LS,1!以杆件的轴向应力“LS,1”定义单元表STRS_CO ETABLE,STRSX,S,X !定义X方向的应力为单元表STRSX ETABLE,STRSY,S,Y !定义Y方向的应力为单元表STRSY *GET,STRSS_ST,ELEM,STEEL_E, ETAB, STRS_ST!从单元表STRS_ST中提取STEEL_E单元的应力结果,存入变量STRSS_ST; *GET, STRSS_CO,ELEM,COPPER_E,ETAB,STRS_CO”从单元表STRS_CO中提取COPPER_E单元的应力结果,存入变量STRSS_CO 10 FINISH !退出以前的模块 11, /CLEAR, START!清除系统中的所有数据,读入启动文件的设置 12/UNITS, SI!申明采用国际单位制 14/NUMBER, 2!只显示编号,不使用彩色

华为交换机常用命令和解释

一、基本配置 1、视图 system-view //用户视图 [quidway]interface ethernet 0/1 //系统视图 [quidway-ethernet0/1] //接口视图 2、密码及基本参数配置 (1) console口登录配置 system-view [quidway]user-interface aux 0 [quidway-aux0]authentication-mode {none|password|scheme} //设置登录的验证方法。none是不要验证,password是密码验证,scheme是服务器验证。 [quidway-aux0]set authentication password {cipher|simple} 123456 //当上面的模式为 paaword时,设置验证的密码。simple是明文密码。 [quidway-aux0]user privilege level 2 //设置从AUX登录后可以访问的命令级别为2级,默认是1级。 [quidway-aux0]speed 19200 //设置console口使用的传输速率 [quidway-aux0]screen-length 30 //设置一屏显示30行命令 [quidway-aux0]history-command max-size 20 //设置历史命令缓冲区最多存放20条命令 [quidway-aux0]idle-timeout 6 //设置超时时间为6分钟 (2)telnet 登录 system-view [quidway]user-interface vty 0 4 [quidway-aux0]authentication-mode {none|password|scheme} //设置登录的验证方法。none是不要验证,password是密码验证,scheme是服务器验证。 [quidway-aux0]set authentication password {cipher|simple} 123456 //当上面的模式为 paaword时,设置验证的密码。simple是明文密码。 [quidway-aux0]user privilege level 2 //设置从AUX登录后可以访问的命令级别为2级,默认是1级。 [quidway-aux0]protocol inbund {all |ssh|telnet} //设置交换机支持的协议 [quidway-aux0]screen-length 30 //设置一屏显示30行命令 [quidway-aux0]history-command max-size 20 //设置历史命令缓冲区最多存放20条命令 [quidway-aux0]idle-timeout 6 //设置超时时间为6分钟 super 3 //将普通用户通过TELNET登录到交换机,将用户级别切换到3级。 (3)超级用户密码(用户级别) [quidway]super password level 3 {cipher|simper} 123456 //设置低级别用户到高

Spring-data-redis使用手册

Spring-data-redis使用手册

文档信息(Document Info) 标题(Title) Spring-data-redis使用手册 文档编号(No) 2012-02-14 作者(Author) 黄承开 最后发布时间(Last Update) 2012-08-10 概述(Summarize) 掌握spring-data-redis的使用方法,一些最佳实践

修订信息(Revise Info) 修订日期(Date)修订人(Reviser) 修订内容(Revises) 2012-05-21 梁国锋 2.2 redis下载地址(Linux版、Windows版) 3.4.6常用api的方法 5.1mercury项目实战 2012-06-25 黄承开新增maven依赖配置方法,整理了章节2012-06-26 黄承开新增章节 2012-08-10 张瑜新增Tinybee实战配置,增加KEY序列化配置

附件信息(Attachment Info)

目录 文档信息(Document Info) (2) 修订信息(Revise Info) (3) 附件信息(Attachment Info) (4) 1.概述 (6) 1.1.目的 (6) 1.2.范围 (6) 2.准备 (6) 2.1.环境配置 (6) 2.2.下载地址 (7) 3.Spring-data-redis (7) 3.1.背景 (7) 3.1.1.高级API (7) 3.1.2.低级API (7) 3.2.Maven配置 (7) 3.3.JedisConnectionFactory (8) 3.4.RedisTemplate和StringRedisTemplate (8) 3.5.API概览 (8) 3.5.1.Java集合和Redis集合 (8) 3.5.2.Operations (9) 3.5.3.ValueOperations和BoundValueOperations (9) 3.5.4.ListOperations和BoundListOperations (9) 3.5.5.SetOperations和BoundSetOperations (10) 3.5.6.ZSetOperations和BoundZSetOperations (11) 3.5.7.HashOperations和BoundHashOperations (11) 3.5.8.其他 (12) 3.6.Callback (12) 3.7.Topic和Messaging/PubSub (12) 3.8.Cache (12) 4.NoSQL数据库设计 (12) 4.1.一般经验 (12) 4.1.1.不持久化业务实体 (12) 4.1.2.Key的设计 (12) 4.2.官方例子中的设计 (13) 4.3.NoSQL 数据建模技术 (13) 5.最佳实践 (13) 5.1.项目案例1(Mercury项目) (13) 5.1.1.配置 (13) 5.1.2.总结 (14) 5.2.项目案例2(Tinybee项目) (14) 5.2.1.配置(更新) (14)

linux常用命令及注释

ctrl+u :快速删除当前光标处之前的所有字符和内容 ctrl+k :快速删除从当前光标处到行尾的所有字符和内容 ctrl+l :快速清空当前屏幕中的所有内容 ctrl+c :取消当前命令行的编辑,并切换为新的一行命令提示符 一:目录操作命令 help, --help,man,info, 获得命令帮助 pwd :查看当前的工作目录 cd :切换工作目录 ls -l:以长格式显示文件和目录的列表,包括权限,大小,最后更新时间等信息 ls -a:显示所有子目录和文件的信息,包括以“.”开头的隐藏目录和隐藏文件 ls -d:显示目录属主的属性,而不是显示目录内容 ls -h:以K.M等单位人性化的显示出目录大小或文件的大小 ls-R:以递归的方式显示指定目录及其子目录的内容 mkdir 命令创建新的目录,使用“-P”创建嵌套的多层目录结构。例如创建目录media以及在里面创建子目录cdrom命令:mkdir -p /media/cdrom du 命令:统计目录及文件的空间占用情况 du -a :统计磁盘空间占用时包括所有的文件,而不仅仅统计目录 du -h :以K,M单位显示显示统计结果 du -s :只统计每个参数所占空间总大小,而不是统计每个子目录和文件的大小 二:文件操作命令 用touch命令创建空文件 用file命令查看文件类型 用cp命令复制文件和目录

cp -f :覆盖目标同名文件火目录时不进行提醒,强制复制 cp -i :覆盖目标同名文件或目录时提醒用户确认 cp -p :复制时保持原文件的权限,属主及时间标记等属性不变 cp -r :复制目录时必须选择此选项,表示递归复制所有文件及子目录 rm -f :删除文件或目录时不进行提醒,直接删除 rm -i :删除文件或目录时提醒用户确认 rm -r :删除目录时必须使用此选项,表示递归删除整个目录树 mv命令移动文件或目录 例如将aa目录转移至bbb目录中:mv /aa /bbb which命令:查找linux命令文件并显示所在的位置 find命令查找 find -name :根据文件名查找 find -size :根据文件及目录大小查找文件 find -user :根据文件是否属于目标用户进行查找 find -type :按文件类型查找 in命令:为文件或目录建立链接 in -s /源文件或目录/目标目录 三:文件内容操作命令 cat 命令:显示并链接文件的内容 例如查看Apache网站服务器的配置内容:more /etc/httpd/conf/httpd.conf head和tail命令:查看文件开头或者末尾的部分内容 例如查看用户配置文件/etc/passwd的开头前三行内容

REDIS常用命令操作(带截屏)

REDIS常用命令操作 准备 在本地下载并安装redis客户端后,在windows命令行窗口通过cd命令进入bin目录,运行redis-cli.exe 进入命令行操作界面,如下图所示: 常用命令 Key(键) DEL 业务场景: 删除不需要使用的一个或多个KEY 不存在的KEY会被忽略

参数说明: DEL key [key…..] 这个key就是要删除的键,如果要删除多个key,则多个key之间以空格分隔返回值: 被删除key的数量 使用示例: EXISTS 业务场景: 验证是否存在某个key 参数说明: Exists key key代表要判断的键 返回值: 如果key存在,则返回1,不存在则返回0 使用示例:

KEYS 业务场景: 查找当前redis数据库中有哪些key 参数说明: Keys pattern 其中pattern为正则表达式,其正则语法完全同原生的正则语法一样 比如: Keys * 匹配数据库中所有key Keys h?llo 匹配hello、hallo、hxllo等,?代表任意一个字符 Keys h*llo 匹配hllo、heeeeeello等 Keys h[ae]llo 仅匹配hello和hallo 返回值: 符合给定模式的key列表 使用示例:

String(字符串) DECR 业务场景: 将key中所存储的数字值减1 如果key不存在,那么key的值会先初始化为0,然后再执行DECR操作 如果值包含错误的类型或者字符串类型的值不能表示为数字,那么返回一个错误本操作的值限制在64位(bit)有符号数字表示之内 参数说明: DECR key key为操作的键 返回值: 减一后的值 使用示例: DECRBY

Redis开发常用规范

Redis开发常用规范 1.冷热数据分离,不要将所有数据全部都放到Redis中 虽然Redis支持持久化,但是Redis的数据存储全部都是在内存中的,成本昂贵。建议根据业务只将高频热数据存储到Redis中【QPS大于5000】,对于低频冷数据可以使用 MySQL/ElasticSearch/MongoDB等基于磁盘的存储方式,不仅节省内存成本,而且数据量小在操作时速度更快、效率更高! 2.不同的业务数据要分开存储 不要将不相关的业务数据都放到一个Redis实例中,建议新业务申请新的单独实例。因为Redis为单线程处理,独立存储会减少不同业务相互操作的影响,提高请求响应速度;同时也避免单个实例内存数据量膨胀过大,在出现异常情况时可以更快恢复服务! 3.规范Key的格式 合适的key,便于查看,统计,排错。 “平台缩写“+“:”+“项目名”+“:”+“业务含义” 例如:GW:TRADE:USERID GW是新网关,TRADE是交易项目,USERID为业务ID。 ":"-作为key分隔符,方便客户端工具作为目录分级 4.存储的Key一定要设置超时时间 如果应用将Redis定位为缓存Cache使用,对于存放的Key一定要设置超时时间!因为若不设置,这些Key会一直占用内存不释放,造成极大的浪费,而且随着时间的推移会导致内存占用越来越大,直到达到服务器内存上限!另外Key的超时长短要根据业务综合评估,而不是越长越好!(某些业务要求key长期有效。可以在每次写入时,都设置超时时间,让超时时间顺延。) public Boolean set(final byte[] key, final byte[] value, final long liveTime) { return redisTemplate.execute(new RedisCallback() {

git常用命令解释

GIT ANG REPO USAGE 1 git command 1.1 git add ?git add . #将文件先暂存到staging area, stages new and modified, without deleted ?git add -A #states all ?git add -u #states modified and deleted, without new ?git add -i #进入互动模式 ?git add filename #新增一个文件 ?git add modify-file #修改过得文档也要加add,不然在commit时要加-a 1.2 git rm #删除文件 ?git rm filename 1.3 git mv #修改文件名,或搬移目录 ?git mv filename newfilename 1.4 git status #查看状态 1.5 git commit ?git commit ?git commit -m 'commit message' ?git commit -a -m "message" ?git commit -a -v #-v查看修改的内容 1.6 git branch

?git branch #列出所有的分支 ?git branch new-branch #产生新的分支 ?git branch new-branch master #由master产生新的分支 ?git branch -d branch #删除分支 ?git branch -D branch #强制删除分支 ?git checkout -b new-branch #产生新分支并切换过去 ?git branch -r #列出所有repository branch ?git branch -a #列出所有分支 1.7 git checkout ?git checkout branch-name #切换到branch-name ?git checkout master #切换到master ?git checkout -b new-branch master #从master建立新的分支,并切换过去?git checkout -b new-branch #由当前分支建立新分支 ?git checkout -b new-branch origin #由origin建立分支 ?git checkout filename #还原状态到repository状态 ?git checkout HEAD . #将所有文件都checkout出来 ?git checkout xxxx . #xxxx是commit的编号的前四位,将xxxx编号的版本checkout出来 ?git checkout – * #恢复上一次commit的状态 1.8 git diff ?git diff master #与master对比看哪些文件不同 ?git diff –cached #比较staging area与repository ?git diff tag1 tag2 #tag1与tag2比较 ?git diff tag1:file1 tag2:file2 #tag1的file1与tag2的file2比较 ?git diff #当前与staging area比较 ?git diff HEAD #当前与repository比较 ?git diff new-brach #当前与new branch的比较 ?git diff –stat 1.9 git tag

Redis面试题及答案

1、什么是Redis?简述它的优缺点? Redis的全称是:Remote Dictionary.Server,本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。 因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过10万次读写操作,是已知性能最快的Key-Value DB。 Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能。 比方说用他的List来做FIFO双向链表,实现一个轻量级的高性能消息队列服务,用他的Set可以做高性能的tag系统等等。 另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一个功能加强版的memcached来用。Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。 2、Redis与memcached相比有哪些优势? 1.memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型 2.redis的速度比memcached快很多redis的速度比memcached快很多 3.redis可以持久化其数据redis可以持久化其数据 3、Redis支持哪几种数据类型? String、List、Set、Sorted Set、hashes 4、Redis主要消耗什么物理资源? 内存。 5、Redis有哪几种数据淘汰策略? 1.noeviction:返回错误当内存限制达到,并且客户端尝试执行会让更多内存被使用的命令。 2.allkeys-lru: 尝试回收最少使用的键(LRU),使得新添加的数据有空间存放。 3.volatile-lru: 尝试回收最少使用的键(LRU),但仅限于在过期集合的键,使得新添加的数据有空间存放。 4.allkeys-random: 回收随机的键使得新添加的数据有空间存放。 5.volatile-random: 回收随机的键使得新添加的数据有空间存放,但仅限于在过期集合的键。 6.volatile-ttl: 回收在过期集合的键,并且优先回收存活时间(TTL)较短的键,使得新添加的数据有空间存放。 6、Redis官方为什么不提供Windows版本? 因为目前Linux版本已经相当稳定,而且用户量很大,无需开发windows版本,反而会带来兼容性等问题。 7、一个字符串类型的值能存储最大容量是多少? 512M 8、为什么Redis需要把所有数据放到内存中? Redis为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。 所以redis具有快速和数据持久化的特征,如果不将数据放在内存中,磁盘I/O速度为严重影响redis的性能。 在内存越来越便宜的今天,redis将会越来越受欢迎,如果设置了最大使用的内存,则数据已有记录数达到内存限值后不能继续插入新值。 9、Redis集群方案应该怎么做?都有哪些方案? 1.codis

Linux常用命令英文全称与中文解释

Linux常用命令英文全称与中文解释 man: Manual 意思是手册,可以用这个命令查询其他命令的用法。 pwd:Print working directory 意思是密码。 su:Swith user 切换用户,切换到root用户 cd:Change directory 切换目录 ls:List files 列出目录下的文件 ps:Process Status 进程状态 mkdir:Make directory 建立目录 rmdir:Remove directory 移动目录 mkfs: Make file system 建立文件系统 fsck:File system check 文件系统检查 cat: Concatenate 串联 uname: Unix name 系统名称 df: Disk free 空余硬盘 du: Disk usage 硬盘使用率 lsmod: List modules 列表模块 mv: Move file 移动文件 rm: Remove file 删除文件 cp: Copy file 复制文件 ln: Link files 链接文件 fg: Foreground 前景 bg: Background 背景 chown: Change owner 改变所有者 chgrp: Change group 改变用户组 chmod: Change mode 改变模式 umount: Unmount 卸载 dd: 本来应根据其功能描述“Convert an copy”命名为“cc”,但“cc”已经被用以代表“C Complier”,所以命名为“dd” tar:Tape archive 解压文件 ldd:List dynamic dependencies 列出动态相依 insmod:Install module 安装模块 rmmod:Remove module 删除模块 lsmod:List module 列表模块 Unix: 操作系统的一种 Linux: 一种开源,多用户操作系统 Linus torvalds: linux系统作者 Kenel: 内核 GNU: GNU is Not Unix GNU不是unix OSS: open source software 开放源代码软件 License: 许可证Red hat: 红帽子公司 Text mode: 字符模式 Graphic mode: 图形界面 Root : linux默认系统管理员账号

Redis中5种数据结构的使用场景介绍

一、redis 数据结构使用场景 原来看过redisbook 这本书,对redis 的基本功能都已经熟悉了,从上周开始看redis 的源码。目前目标是吃透redis 的数据结构。我们都知道,在redis 中一共有5种数据结构,那每种数据结构的使用场景都是什么呢? String——字符串 Hash——字典 List——列表 Set——集合 Sorted Set——有序集合 下面我们就来简单说明一下它们各自的使用场景: 1. String——字符串 String 数据结构是简单的key-value 类型,value 不仅可以是String,也可以是数字(当数字类型用Long 可以表示的时候encoding 就是整型,其他都存储在sdshdr 当做字符串)。使用Strings 类型,可以完全实现目前Memcached 的功能,并且效率更高。还可以享受Redis 的定时持久化(可以选择RDB 模式或者AOF 模式),操作日志及Replication 等功能。除了提供与Memcached 一样的get、set、incr、decr 等操作外,Redis 还提供了下面一些操作: 代码如下: 1.LEN niushuai:O(1)获取字符串长度 2.APPEND niushuai redis:往字符串append 内容,而且采用智能分配内存(每次2倍) 3.设置和获取字符串的某一段内容 4.设置及获取字符串的某一位(bit) 5.批量设置一系列字符串的内容 6.原子计数器 7.GETSET 命令的妙用,请于清空旧值的同时设置一个新值,配合原子计数器使用 2. Hash——字典 在Memcached 中,我们经常将一些结构化的信息打包成hashmap,在客户端序列化后存储为一个字符串的值(一般是JSON 格式),比如用户的昵称、年龄、性别、积分等。这时候在需要修改其中某一项时,通常需要将字符串(JSON)取出来,然后进行反序列化,修改某一项的值,再序列化成字符串(JSON)存储回去。简单修改一个属性就干这么多事情,消耗必定是很大的,也不适用于一些可能并发操作的场合(比如两个并发的操作都需要修改积分)。而Redis 的Hash 结构可以使你像在数据库中Update 一个属性一样只修改某一项属性值。 代码如下: 存储、读取、修改用户属性 3. List——列表 List 说白了就是链表(redis 使用双端链表实现的List),相信学过数据结构知识的人都应该能理解其结构。使用List 结构,我们可以轻松地实现最新消息排行等功能(比如新浪微博的TimeLine )。List 的另一个应用就是消息队列,可以利用List 的*PUSH 操作,将任务存在List 中,然后工作线程再用POP 操作将任务取出进行执行。Redis 还提供了操作List 中某一段元素的API,你可以直接查询,删除List 中某一段的元素。 代码如下:

相关文档
最新文档