`
shibin_1109
  • 浏览: 76194 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

redis命令总结

阅读更多
public class Redis2 {
	private static Jedis jedis = new Jedis("127.0.0.1",6379);
	
	public static void main(String[] args){
		//----------------------------String操作---------------------------------------------------
		//byte[] bat = new byte[]{1,2,3};
		//long lon=3L;
		//jedis.set("shibin", "shibin");
		//jedis.append("shibin111", "789");//如果key存在则最佳字符串,如果不存在则相当于set
		//jedis.decr("shibin");//如果key不存在返回-1,如果存在并且为数字的话就减一,如果不是纯数字的话则会抛出不是纯数字的异常
		//jedis.decrBy("shibin", lon);//指定减少的长度
		//jedis.incr("shibin");//和decr相反,第二个参数是制定长度 如果是byte[] 就是把key的字符串转成byte【】数组形式
		//jedis.incrBy("shibin", lon);//指定增加的长度
		//jedis.getSet("shibin333", "222")//如果key存在就返回value值并对他设置新值,如果key不存在则返回-1并对他设置新值
		//不好使
		//jedis.strlen("shibin555")//返回字符串长度,如果不存在则返回-1,如果不是value不是string则报相应的错误信息 
		//jedis.setex("shibin55", 3, "shibin");//设置一个字符串在服务器的存活时间,第二个参数为秒数
		//jedis.setnx("shibin", "123");//如果key不存在则保存key所对应的value,如果key存在则不做任何操作
		//jedis.mset("shibin","sdf","shibin11","sdf");//同时set多个键值对
		//jedis.msetnx(key, value)//可以设置多条,如果有其中一个key已经存在,那么操作全部回滚
		//jedis.mget("shibin","shibin11");//同时取出多条,以数组形式展示[123,456]
		//不好使
		//jedis.setrange("shibin", 3, "bibib");//从第三个开始替换
		//不好使
		//jedis.getrange("shibin", 1, 2);//截取取值
		//不好使
		//jedis.setbit("shibin", 1, false);//设置在指定Offset上BIT的值,该值只能为1或0,在设定后该命令返回该Offset上原有的BIT值。如果指定Key不存在,该命令将创建一个新值,并在指定的Offset上设定参数中的BIT值。如果Offset大于Value的字符长度,Redis将拉长Value值并在指定Offset上设置参数中的BIT值,中间添加的BIT值为0。最后需要说明的是Offset值必须大于0。
		//不好使
		//jedis.getbit("shibin", 1);//返回在指定Offset上BIT的值,0或1。如果Offset超过string value的长度,该命令将返回0,所以对于空字符串始终返回0。
		//System.out.println(jedis.get("shibin"));
		
		//----------------------------List链表操作---------------------------------------------------
		
		//jedis.lpush("shib1in1", "123");
		//jedis.lpush("shib1in1", "789");
		//jedis.lpush("shib1in1", "789");//以链表的形式往里添加先进后出
		//不好使
		//jedis.lpushx("shib1in1", "0");//仅有当参数中指定的Key存在时,该命令才会在其所关联的List Value的头部插入参数中给出的Value,否则将不会有任何操作发生。
		//jedis.lrange("shib1in1", 0, 1);//根据key值取出list当中从第几个到第几个的值
		//jedis.lpop("shib1in1");//根据key取出链表中第一个值
		//jedis.llen("shib1in1");//key存在是返回链表中元素的数量,如果可以不存在则返回0,如果key值不是链表则返回相应的错误信息
		//jedis.lrem("shib1in1", 1, "123");//删除制定数量的value值,从前往后删除,删除成功返回1,失败返回0
		//jedis.lset("shib1in1", 1, "1223");//根据下标替换值,如果下标不存在或是key不存在会报相应的异常
		//jedis.lindex("shib1in1", 1);//根据下标返回相应的value
		//jedis.ltrim("shib1in1", 10, 11);//留指定下标的数据,只留下下标为10-11的元素其他全部删除,如果长度小于10则全部删除
		//不好使
		//jedis.linsert("shib1in1", LIST_POSITION.BEFORE, "3454", "3454");//在指定的元素前面或是后面插入一个元素
		//jedis.rpush("shib1in1", "222");//从尾部插入数据
		//jedis.rpushx("shib1in1", "222");//仅有当参数中指定的Key存在时,该命令才会在其所关联的List Value的尾部插入参数中给出的Value,否则将不会有任何操作发生。 
		//jedis.rpop("shib1in1");//返回并弹出指定Key关联的链表中的最后一个元素,即尾部元素,。如果该Key不存,返回nil。 
		//jedis.rpoplpush("shib1in1", "678");//从尾部开始删除,第二个参数没看出来有什么用
		//System.out.println(jedis.lrange("shib1in1", 0, 7));
		//System.out.println(jedis.rpoplpush("shib1in1", "678"));
		//System.out.println(jedis.lrange("shib1in1", 0, 7));
		
		//----------------------------Hash操作---------------------------------------------------
		
		//jedis.hset("shibin5", "name", "123");//为指定的Key设定Field/Value对,如果Key不存在,该命令将创建新Key以参数中的Field/Value对,如果参数中的Field在该Key中已经存在,则用新值覆盖其原有值。
		//jedis.hget("shibin5", "name");//返回指定Key中指定Field的value值。
		//jedis.hexists("shibin5", "name");//判断key值是否存在,返回true或是false
		//System.out.println(jedis.hset("shibin5", "name", "shibin"));
		//System.out.println(jedis.hset("shibin5", "age", "25"));
		//jedis.hlen("shibin5");//获取该Key所包含的Field的数量。
		//jedis.hdel("shibin5", "name");//删除指定的field(对象中的属性)
		//jedis.hsetnx("shibin5", "name", "shibin1");//只有当参数中的Key或Field不存在的情况下,为指定的Key设定Field/Value对,否则该命令不会进行任何操作。 
		//jedis.hincrBy("shibin5", "name", 3);//对指定的属性进行加减操作,如果key不存在或value不是整数类型会报错误信息,否则进行加减操作
		//jedis.hgetAll("shibin5");//以json的格式返回一个对象
		//jedis.hkeys("shibin5");//返回指定key的所有fields名
		//jedis.hvals("shibin5");//返回指定key的所有value值
		//jedis.hmget("shibin5", "name","age");//根据key返回指定key对应的value,key不存在所有的则返回null,field不存在则改字段返回null
		//jedis.hmset("shibin5", map);//对一个key设置多个dield-value
		//System.out.println(jedis.hget("shibin5", "name"));
		//Map<String,String> map = new HashMap<String,String>();
		//map.put("shengao", "178");
		//map.put("tizhong", "80kg");
		//System.out.println(jedis.hmset("shibin5", map));
		//System.out.println(jedis.hkeys("shibin5"));
		
		//----------------------------set操作---------------------------------------------------
		
		//jedis.sadd("shibinset", "444");
		//jedis.sadd("shibinset3", "888");//添加,如果执行该命令之前,该Key并不存在,该命令将会创建一个新的Set,此后再将参数中的成员陆续插入。如果该Key的Value不是Set类型,该命令将返回相关的错误信息。
		//jedis.scard("shibinset");//获取Set中成员的数量。
		//jedis.sismember("shibinset", "111");//判断参数中指定成员是否已经存在于与Key相关联的Set集合中。
		//jedis.smembers("shibinset");//获取set集合中所有的成员,如果key不存在会报空
		//jedis.spop("shibinset");//随机删除set集合中的某一成员,并返回所删除的成员(搞不懂这个功能能干嘛)
     //jedis.srem("shibinset", "111");//删除set集合中指定的成员,值存在返回1不存在返回0 
		//jedis.srandmember("shibinset");//在set集合中随机取一个值,但是不会删除该值[444, 222, 777, 111, 333, 555, 666]
		//jedis.smove("shibinset", "shibinset1", "111");//将shibinset集合中111成员移动到shibinset1集合中,如果shibinset1集合不存在则会创建,如果shibinset1不是Set,将返回相关的错误信息。
		//jedis.sdiff("shibinset","shibinset1","111");三个参数都为集合key,用第一个集合和后面所有集合比较,返回其他集合没有的成员(它会把从第二个开始的所有集合看成是一个整体)
		//jedis.sdiffstore("shibinset", "shibinset1","111");//拿第二个key和后面的key比较如果第二个key里面有的成员而后面集合中没有该成员,则会把这些成员添加到第一个key中(如果第一个key以前有值也会被清空)
		//jedis.sinter("shibinset3", "shibinset1","shibinset2");//第一个key拿成员去和后面所有的key去比较,只有这几个集合中都有的元素才会被返回
		//jedis.sinterstore("shibinset3", "shibinset1","shibinset2");//返回交集数,返回从第二个开始后面所有集合的交集,并把交集存储到第一个set中
		//jedis.sunion("shibinset3", "shibinset1","shibinset2");//返回所有集合中的成员
		//jedis.sunionstore("shibinset3", "shibinset1","shibinset2");//和suion不同的是,它会把从第二个集合开始的所有成员存储到第一个集合中,如果第一个集合存在则会被覆盖
		//System.out.println(jedis.smembers("shibinset3"));
		//System.out.println(jedis.smembers("shibinset1"));
		//System.out.println(jedis.smembers("shibinset2"));
		//System.out.println(jedis.sunionstore("shibinset3", "shibinset1","shibinset2"));
		//System.out.println(jedis.smembers("shibinset3"));
		//System.out.println(jedis.smembers("shibinset1"));
		//System.out.println(jedis.smembers("shibinset2"));
		
		//----------------------------Sorted-Sets操作---------------------------------------------------
		
		//jedis.zadd("shibinsorted", 12, "jiangjian");//添加,如果在添加时参数中的某一成员已经存在,该命令将更新此成员的分数为新值,同时再将该成员基于新值重新排序。如果键不存在,该命令将为该键创建一个新的Sorted-Sets Value,并将score/member对插入其中。如果该键已经存在,但是与其关联的Value不是Sorted-Sets类型,相关的错误信息将被返回。
		//jedis.zcard("shibinsorted");//获取与该Key相关联的Sorted-Sets中包含的成员数量。
		//jedis.zcount("shibinsorted", 11, 11);//根据区间来统计数量(min <= score <= max);
		//jedis.zincrby("shibinsorted", 100, "guoliang");//给指定的成员加分数,成员存在则累加,不存在则创建
		//jedis.zrange("shibinsorted", 0, 11);//该命令返回顺序在参数start和stop指定范围内的成员,这里start和stop参数都是0-based,即0表示第一个成员,-1表示最后一个成员。如果start大于该Sorted-Set中的最大索引值,或start > stop,此时一个空集合将被返回。如果stop大于最大索引值,该命令将返回从start到集合的最后一个成员
		//jedis.zrangeByScore("shibinsorted", 0, 111);//该命令将返回分数在min和max之间的所有成员,即满足表达式min <= score <= max的成员,其中返回的成员是按照其分数从低到高的顺序返回,如果成员具有相同的分数,则按成员的字典顺序返回。可选参数LIMIT用于限制返回成员的数量范围。可选参数offset表示从符合条件的第offset个成员开始返回,同时返回count个成员。
		//jedis.zrank("shibinsorted", "jiangjian");//返回成员排在第几位
		//jedis.zrem("shibinsorted", "shibin");//删除成员,返回删除成员的数量
		//System.out.println(jedis.zrevrange("shibinsorted", 1, 111));
		//System.out.println(jedis.zrange("shibinsorted", 0, 111));
	}
}


                 待续.......
分享到:
评论

相关推荐

    redis-cli 命令总结

    redis-cli 命令总结,可以作为redis命令的参考文档

    redis命令分类

    redis命令分类,redis指令分类,redis指令总结,redis指令全解。

    redis命令速记

    总结了常用的redis命令,适合随时随地查看速记!总结了常用的redis命令,适合随时随地查看速记!

    Redis命令参考手册完整版.pdf

    此pdf文档中总结了非常全面的reids命令,常用的和不常用的都有...........................

    实用手册redis全面总结

    redis各种知识,安装使用,知识点 jedis命令,数据类型,使用,具体项目实例

    redis客户端命令汇总结

    redis客户端命令汇总结

    Redis操作命令总结

     (1)redis允许模糊查询key 有3个通配符 *、?、[]  (2)randomkey:返回随机key   (3)type key:返回key存储的类型  (4)exists key:判断某个key是否存在  (5)del key:删除key  (6)rename key ...

    redis安装指南

    redis安装指南Linux中的Redis缓存服务器 一、Redis基础部分: 二、redis命令总结

    Redis命令gank.docx

    redis基础整理总结r

    redis常用命令,redis配置文件,redis持久化,redis事务,redis主从复制,jedis的使用

    基于北京尚硅谷周阳老师讲解的redis。个人学习总结: 包含redis常用命令,redis配置文件,redis持久化,redis事务,redis主从复制,jedis的使用。

    redis学习相关资料

    redis学习相关资料 redis命令 redis文档总结 Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash...

    redis中的命令总结

    • Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。 • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 • Redis支持...

    redis命令基础教程

    个人学习rendis 总结的命令笔记,基础入门,快捷方便,每一行命令都有注解,

    Redis命令大全

    Redis命令大全 本手册是我在一家中国大陆的中型商业银行做大数据系统工程师中进行的总结归纳,包含开发和运维的各方面最佳实践,以及各个高可用架构的搭建和测试

    Redis数据库学习总结

    Redis基本操作,包括五种类型数据的设置,查找,删除等命令

    redis常用文档(自己总结的)

    redis常用命令文档,自己总结的,一般常用的都有

    redis常用命令小结

    1、redis-benchmark redis基准信息,redis服务器性能检测 redis-benchmark -h localhost -p 6379 -c 100 -n 100000 100个并发连接,100000个请求,检测host为localhost 端口为6379的redis服务器性能 [root@...

    Redis 命令整理并说明如何使用

    主要介绍了Redis 命令整理并说明如何使用的相关资料,需要的朋友可以参考下

    window下 php5 安装redis 及安装php-redis扩展 (亲测有用)

    phpredis是个人觉得最好的一个php-redis客户端,因为其提供的function与redis的命令基本一致,降低的了学习成本,同时功能也很全面。 现有网上关于redis的资料一大堆,大部分都是零散的,刚好项目需要用到,因此找...

Global site tag (gtag.js) - Google Analytics