`
shibin_1109
  • 浏览: 79418 次
  • 性别: 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 命令总结 Redis 提供了丰富的命令对数据库和各种数据类型进行操作,这些命令可以在 Linux 终端使用。在编程时,比如使用 Redis 的 Java 语言包,这些命令都有对应的方法。下面将 Redis 提供的命令做一总结。 ...

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

    ### Redis命令参考手册知识点解析 #### 一、DEL 命令 **命令格式**: ``` DEL key [key ...] ``` **功能说明**: 该命令用于删除一个或多个指定的键(key)。如果键不存在,则不会有任何操作发生。 **版本支持**...

    redis命令分类

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

    redis命令速记

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

    redis命令实践基础命令总结

    ### Redis命令实践基础命令总结 #### 一、Redis简介与启动 Redis是一个开源的内存中的数据结构存储系统,因其高效性和灵活性被广泛应用于多种场景,包括数据库、缓存以及消息中间件等。为了开始使用Redis,首先需要...

    什么是redis命令实践以及学习了解redis命令实践的意义

    ### 什么是Redis命令实践 Redis(Remote Dictionary Server)是一种开源的键值对存储系统,以其高性能、低延迟的特点被广泛应用于缓存、消息队列、实时数据分析等多种场景中。Redis命令实践指的是通过学习并掌握一...

    redis命令实践redis命令实践redis命令实践.txt

    ### Redis命令实践详解 #### 一、Redis简介 Redis(Remote Dictionary Server)是一个开源的、高性能的键值存储系统,支持多种数据结构如字符串、哈希表、列表、集合及有序集合等。它最大的特点是将数据存储在内存...

    实用手册redis全面总结

    ### 实用手册:Redis全面总结 #### 一、Redis简介 **Redis**(Remote Dictionary Server)是一种开源的、高性能的键值(Key-Value)存储系统。它支持多种数据结构,如字符串(strings)、散列(hashes)、列表...

    redis命令与php详细手册 chm

    总结,这个“redis命令与php详细手册 chm”是学习和使用Redis与PHP结合开发的重要资源,涵盖了从基本操作到高级特性的全面指导,对于开发者来说是宝贵的参考资料。通过深入理解和实践这些知识,可以更好地利用Redis...

    redis命令缓存AOP代码

    总结起来,这个项目展示了如何在Spring环境下利用AOP实现Redis命令缓存,涵盖了HashMap、List、Set、SortedSet和String五种数据类型的操作,有助于提高应用程序的性能和响应速度。通过理解和实践这些代码,开发者...

    2022最新Redis命令使用场景及案例

    总结来说,“2022最新Redis命令使用场景及案例”这份资料将帮助读者深入理解Redis的核心命令,掌握如何在实际项目中运用这些命令来解决各种问题,提升系统的性能和可靠性。通过学习和实践,你将能够更好地利用Redis...

    Redis命令实践教程

    ### Redis命令实践教程知识点详解 #### 一、启动与连接Redis **启动Redis服务:** - **命令行启动:** - 基础启动方式:`redis-server` - 自定义配置文件启动:`redis-server /path/to/your/redis.conf` 通过...

    redis命令实践.docx

    ### Redis命令实践详解 #### 一、Redis简介 Redis是一个开源的、高性能的键值存储系统,被广泛用于实现数据库、缓存以及消息中间件等多种应用场景。它将数据存储在内存中,从而提供了非常快的读写速度。此外,...

    Redis学习总结

    对于Redis进程的管理,可以使用Linux命令ps -ef | grep redis来检查Redis进程是否正在运行。 Redis的配置文件是一个关键组件,其中包含了多个配置项,比如daemonize,它可以控制Redis服务端是否在后台运行。如果...

    Redis操作命令总结

    本文将对Redis中的常用操作命令进行详细总结,分为键(key)操作、字符串类型操作和链表操作三大类。 **一、键(key)操作** 1. **模糊查询key**: Redis 提供了通配符 `*`、`?` 和 `[]` 来进行模糊匹配查询键。例如,`...

    redis客户端命令汇总结

    本文将对Redis客户端命令进行详尽的总结,以便更好地理解和使用Redis。 连接操作是使用Redis的第一步,`redis-cli`是Redis的命令行客户端,可以通过以下方式连接到远程服务器: ```bash redis-cli -h 192.168.1.20...

Global site tag (gtag.js) - Google Analytics