基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx

上传人:b****1 文档编号:14412290 上传时间:2023-06-23 格式:DOCX 页数:49 大小:28.99KB
下载 相关 举报
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第1页
第1页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第2页
第2页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第3页
第3页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第4页
第4页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第5页
第5页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第6页
第6页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第7页
第7页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第8页
第8页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第9页
第9页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第10页
第10页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第11页
第11页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第12页
第12页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第13页
第13页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第14页
第14页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第15页
第15页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第16页
第16页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第17页
第17页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第18页
第18页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第19页
第19页 / 共49页
基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx_第20页
第20页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx

《基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx》由会员分享,可在线阅读,更多相关《基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx(49页珍藏版)》请在冰点文库上搜索。

基于Spark的机器学习资料63后台服务工具redis详解redis操作命令.docx

基于Spark的机器学习资料63后台服务工具redis详解redis操作命令

后台服务工具redis:

详解redis操作命令

1、登录

[root@bigdata1bin]#./redis-cli本机登录

[root@bigdata1bin]#./redis-cli-h127.0.0.1-p6379–apassword远程登录

127.0.0.1:

6379>quit退出

2、数据类型

Redis支持五种数据类型:

string(字符串),hash(哈希),list(列表),set(集合)及zset(sortedset:

有序集合)。

String(字符串):

string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。

string类型是二进制安全的。

意思是redis的string可以包含任何数据。

比如jpg图片或者序列化的对象。

String类型是Redis最基本的数据类型,一个键最大能存储512MB。

Hash(哈希):

Redishash是一个键值(key=>value)对集合。

Redishash是一个string类型的field和value的映射表,hash特别适合用于存储对象。

每个hash可以存储232-1键值对(40多亿)。

List(列表):

Redis列表是简单的字符串列表,按照插入顺序排序。

你可以添加一个元素到列表的头部(左边)或者尾部(右边)。

列表最多可存储232-1元素(4294967295,每个列表可存储40多亿)。

Set(集合):

Redis的Set是string类型的无序集合。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O

(1)。

Zset(有序集合):

Rediszset和set一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。

redis正是通过分数来为集合中的成员进行从小到大的排序。

zset的成员是唯一的,但分数(score)却可以重复。

3、命令介绍

String(字符串):

127.0.0.1:

6379>SETkey"value"设置key

127.0.0.1:

6379>GETkey读取key

127.0.0.1:

6379>GETRANGEkey03读取key对应的value前四个字符

127.0.0.1:

6379>GETSETdbmongodb设定key的value,并返回旧value,没有旧值,返回nil

127.0.0.1:

6379>MGETkey1key2返回一个或者多个给定的key值

Hash(哈希):

127.0.0.1:

6379>HMSETmyhashfield1"Hello"field2"World"同时将多个field-value(字段-值)对设置到哈希表中。

127.0.0.1:

6379>HGETKEY_NAMEFIELD_NAME用于返回哈希表中指定字段的值

127.0.0.1:

6379>HEXISTSmyhashfield1哈希表含有给定字段,返回1。

如果哈希表不含有给定字段,或key不存在,返回0

127.0.0.1:

6379>HKEYSmyhash获取哈希表中的所有域(field)

List(列表):

127.0.0.1:

6379>LPUSHKEY_NAMEVALUE1..VALUEN将一个或多个值插入到列表头部

127.0.0.1:

6379>LRANGElist10-1返回列表中指定区间内的元素

Set(集合):

127.0.0.1:

6379>SADDmyset"hello"命令将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略。

127.0.0.1:

6379>SMEMBERSmyset1返回集合中的所有的成员。

不存在的集合key被视为空集合。

Zset(有序集合):

127.0.0.1:

6379>ZADDmyzset2"two"3"three"用于将一个或多个成员元素及其分数值加入到有序集当中。

127.0.0.1:

6379>ZCARDmyzset获取结合中元素的数量。

4、封装的redis基本命令

importjava.util.HashMap;

importjava.util.List;

importjava.util.Map;

importjava.util.Set;

importorg.springframework.context.support.ClassPathXmlApplicationContext;

importredis.clients.jedis.BinaryClient;

importredis.clients.jedis.BinaryClient.LIST_POSITION;

importredis.clients.jedis.JedisCluster;

importmons.logging.Log;

importmons.logging.LogFactory;

publicclassredisCluster{

privatestaticfinalLoglog=LogFactory.getLog(redisCluster.class);

JedisClusterjedisCluster=null;

ClassPathXmlApplicationContextcontext=null;

/**

*构造函数,初始化jedis连接池

*/

publicredisCluster(){

try{

context=newClassPathXmlApplicationContext("classpath:

spring/spring-context.xml");

context.start();

jedisCluster=(JedisCluster)context.getBean("jedisCluster");

}

catch(Exceptione){

log.error("==>redisClustercontextstarterror:

",e);

context.stop();

System.exit(0);

}

}

/**

*关闭连接

*/

publicvoidcloseRedisCluster(){

jedisCluster.close();

}

//Key(键)

/**

*删除指定的key

*@paramkey

*@return删除的数量

*/

publicLongdelete(Stringkey){

returnjedisCluster.del(key);

}

/**

*检查指定的key是否存在

*@paramkey

*@return存在:

返回1不存在:

返回0

*/

publicBooleanexists(Stringkey){

returnjedisCluster.exists(key);

}

/**

*为给定key设置生存时间,当key过期时(生存时间为0),它会被自动删除

*可以对一个已经带有生存时间的key执行EXPIRE命令,新指定的生存时间会取代旧的生存时间

*@paramkey

*@paramseconds秒

*@return成功:

返回1失败:

返回0

*/

publicLongexpire(Stringkey,intseconds){

returnjedisCluster.expire(key,seconds);

}

/**

*EXPIREAT的作用和EXPIRE类似,都用于为key设置生存时间

*不同在于EXPIREAT命令接受的时间参数是UNIX时间戳(unixtimestamp)

*@paramkey

*@paramunixTime秒

*@return成功:

返回1失败:

返回0

*/

publiclongexpireAt(Stringkey,longunixTime){

returnjedisCluster.expireAt(key,unixTime);

}

/**

*将当前数据库的key移动到给定的数据库db当中

*如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定key,或者key不存在于当前数据库,那么MOVE没有任何效果

*@paramkey

*@paramdbIndex

*@return成功:

返回1失败:

返回0

*/

publicLongmove(Stringkey,intdbIndex){

returnjedisCluster.move(key,dbIndex);

}

/**

*移除给定key的生存时间,将这个key从『易失的』(带生存时间key)转换成『持久的』(一个不带生存时间、永不过期的key)

*@paramkey

*@return成功:

返回1失败:

返回0

*/

publiclongpersist(Stringkey){

returnjedisCluster.persist(key);

}

/**

*为给定key设置生存时间,当key过期时(生存时间为0),它会被自动删除

*可以对一个已经带有生存时间的key执行EXPIRE命令,新指定的生存时间会取代旧的生存时间

*@paramkey

*@paramseconds毫秒

*@return成功:

返回1失败:

返回0

*/

publiclongpexpire(Stringkey,longmilliseconds){

returnjedisCluster.pexpire(key,milliseconds);

}

/**

*EXPIREAT的作用和EXPIRE类似,都用于为key设置生存时间

*不同在于EXPIREAT命令接受的时间参数是UNIX时间戳(unixtimestamp)

*@paramkey

*@paramunixTime毫秒

*@return成功:

返回1失败:

返回0

*/

publiclongpexpireAt(Stringkey,longmillisecondsTimestamp){

returnjedisCluster.pexpireAt(key,millisecondsTimestamp);

}

/**

*返回或保存给定列表、集合、有序集合key中经过排序的元素

*排序默认以数字作为对象,值被解释为双精度浮点数,然后进行比较

*@paramkey

*@return

*/

publicListsort(Stringkey){

returnjedisCluster.sort(key);

}

/**

*以秒为单位,返回给定key的剩余生存时间(TTL,timetolive)

*@paramkey

*@returnkey不存在:

返回-2key存在但没有设置生存时间:

返回-1

*/

publiclongttl(Stringkey){

returnjedisCluster.ttl(key);

}

/**

*返回key所储存的值的类型

*@paramkey

*@returnnone(key不存在)string(字符串)list(列表)set(集合)zset(有序集)hash(哈希表)

*/

publicStringtype(Stringkey){

returnjedisCluster.type(key);

}

//String(字符串)

/**

*如果key已经存在并且是一个字符串,APPEND命令将value追加到key原来的值的末尾

*如果key不存在,APPEND就简单地将给定key设为value,就像执行SETkeyvalue一样

*@paramkey

*@paramvalue

*@return追加value之后,key中字符串的长度

*/

publicLongappend(Stringkey,Stringvalue){

returnjedisCluster.append(key,value);

}

/**

*计算给定字符串中,被设置为1的比特位的数量

*@paramkey

*@return被设置为1的位的数量

*/

publicLongbitCount(Stringkey){

returnjedisCluster.bitcount(key);

}

/**

*通过指定额外的start或end参数,可以让计数只在特定的位上进行

*@paramkey

*@paramstart

*@paramend

*@return被设置为1的位的数量

*/

publicLongbitCount(Stringkey,Longstart,Longend){

returnjedisCluster.bitcount(key,start,end);

}

/**

*将key中储存的数字值减一

*如果key不存在,那么key的值会先被初始化为0,然后再执行DECR操作

*如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误

*@paramkey

*@return执行DECR命令之后key的值

*/

publicLongdecr(Stringkey){

returnjedisCluster.decr(key);

}

/**

*将key所储存的值减去减量decrement

*如果key不存在,那么key的值会先被初始化为0,然后再执行DECRBY操作

*如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误

*@paramkey

*@paraminteger

*@return减去decrement之后,key的值

*/

publicLongdecrBy(Stringkey,longinteger){

returnjedisCluster.decrBy(key,integer);

}

/**

*返回key所关联的字符串值

*如果key不存在那么返回特殊值nil

*假如key储存的值不是字符串类型,返回一个错误,因为GET只能用于处理字符串值

*@paramkey

*@return当key不存在时,返回nil,否则,返回key的值,如果key不是字符串类型,那么返回一个错误

*/

publicStringget(Stringkey){

returnjedisCluster.get(key);

}

/**

*对key所储存的字符串值,获取指定偏移量上的位(bit)

*当offset比字符串值的长度大,或者key不存在时,返回0

*@paramkey

*@paramoffset

*@return字符串值指定偏移量上的位(bit)

*/

publicBooleangetbit(Stringkey,Longoffset){

returnjedisCluster.getbit(key,offset);

}

/**

*返回key中字符串值的子字符串,字符串的截取范围由start和end两个偏移量决定(包括start和end在内)

*负数偏移量表示从字符串最后开始计数,-1表示最后一个字符,-2表示倒数第二个,以此类推。

*@paramkey

*@paramstartOffset

*@paramendOffset

*@return截取得出的子字符串

*/

publicStringgetrange(Stringkey,longstartOffset,longendOffset){

returnjedisCluster.getrange(key,startOffset,endOffset);

}

/**

*将给定key的值设为value,并返回key的旧值(oldvalue)

*当key存在但不是字符串类型时,返回一个错误

*@paramkey

*@paramvalue

*@return返回给定key的旧值,当key没有旧值时,也即是,key不存在时,返回nil

*/

publicStringgetSet(Stringkey,Stringvalue){

returnjedisCluster.getSet(key,value);

}

/**

*将key中储存的数字值增一

*如果key不存在,那么key的值会先被初始化为0,然后再执行INCR操作

*如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误

*@paramkey

*@return执行INCR命令之后key的值

*/

publicLongincr(Stringkey){

returnjedisCluster.incr(key);

}

/**

*将key所储存的值加上增量increment

*如果key不存在,那么key的值会先被初始化为0,然后再执行INCRBY命令

*如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误

*@paramkey

*@paraminteger

*@return加上increment之后,key的值

*/

publicLongincrBy(Stringkey,longinteger){

returnjedisCluster.incrBy(key,integer);

}

/**

*为key中所储存的值加上浮点数增量increment

*如果key不存在,那么INCRBYFLOAT会先将key的值设为0,再执行加法操作

*如果命令执行成功,那么key的值会被更新为(执行加法之后的)新值,并且新值会以字符串的形式返回给调用者

*@paramkey

*@paramvalue

*@return执行命令之后key的值

*/

publicdoubleincrByFloat(Stringkey,doublevalue){

returnjedisCluster.incrByFloat(key,value);

}

/**

*将字符串值value关联到key

*如果key已经持有其他值,SET就覆写旧值,无视类型

*@paramkey

*@paramvalue

*@return返回ok

*/

publicStringset(Stringkey,Stringvalue){

returnjedisCluster.set(key,value);

}

/**

*对key所储存的字符串值,设置或清除指定偏移量上的位(bit)

*位的设置或清除取决于value参数,可以是0也可以是1

*当key不存在时,自动生成一个新的字符串值

*@paramkey

*@paramoffset

*@paramvalue

*@return指定偏移量原来储存的位

*/

publicBooleansetbit(Stringkey,Longoffset,Stringvalue){

returnjedisCluster.setbit(key,offset,value);

}

/**

*对key所储存的字符串值,设置或清除指定偏移量上的位(bit)

*位的设置或清除取决于value参数,可以是0也可以是1

*当key不存在时,自动生成一个新的字符串值

*@paramkey

*@paramoffset

*@paramvalue

*@return指定偏移量原来储存的位

*/

publicBooleansetbit(Stringkey,longoffset,Booleanvalue){

returnjedisCluster.setbit(key,offset,value);

}

/**

*将值value关联到key,并将key的生存时间设为seconds(以秒为单位)

*如果key已经存在,SETEX命令将覆写旧值

*@paramkey

*@paramseconds

*@paramvalue

*@return设置成功时返回OK,当seconds参数不合法时,返回一个错误

*/

publicStringsetex(Stringkey,intseconds,Stringvalue){

returnjedisCluster.setex(key,seconds,value);

}

/**

*将key的值设为value,当且仅当key不存在

*若给定的key已经存在,则SETNX不做任何动作

*@paramkey

*@paramvalue

*@return设置成功,返回1,设置失败,返回0

*/

publicLongsetnx(Stringkey,Stringvalue){

returnjedisCluster.setnx(key,value);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2