`
xinklabi
  • 浏览: 1590916 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
文章分类
社区版块
存档分类
最新评论

Redis常用命令

 
阅读更多

1、新增

a)set

语法:set key value

解释:把值value赋给key,如果key不存在,新增;否则,更新

[plain] view plaincopy
 
  1. [root@xsf001 ~]# redis-cli   
  2. redis 127.0.0.1:6379> set user.1.name zhangsan #设置user.1.name 为zhangsan  
  3. OK  
  4. redis 127.0.0.1:6379> set user.name 45      #设置user.1.name 为45  
  5. OK  
               b)setnx

语法:setnx key value

解释:只insert不update,即,仅仅key不存在时,则设置key的值为value,并返回1,否则返回0  。setnx 是set if not exists 的缩写

 

[plain] view plaincopy
 
  1. redis 127.0.0.1:6379> setnx user.1.name zhangsan   #user.1.name已经存在,则返回0  
  2. (integer) 0  
  3. redis 127.0.0.1:6379> setnx user.2.name zhangsan  #user.2.name不存在,则设置  
  4. (integer) 1  
c)setex

语法: setex key seconds value

解释:设置key的过期时间和值。过期时间seconds单位是秒。设置过期时间和值是原子操作,如果redis仅仅当做缓存,这个很命令很有用。

[plain] view plaincopy
 
  1. redis 127.0.0.1:6379> setex user.2.age 2 14  #把user.2.age 的值设14 并且2秒后过期失效  
  2. OK  
  3. redis 127.0.0.1:6379> get user.2.age  #失效前  
  4. "14"  
  5. redis 127.0.0.1:6379> get user.2.age #失效后  
  6. (nil)  
d)mset

语法:mset key value [key value ...]

解释:同时设置多个key-value

[plain] view plaincopy
 
  1. redis 127.0.0.1:6379> mset user.4.name lisi user.4.age 34  #设置user.4.name=lisi,user.4.age=34  
  2. OK  
  3. redis 127.0.0.1:6379> get user.4.name  
  4. "lisi"  
  5. redis 127.0.0.1:6379> get user.4.age  
  6. "34"  

             e)msetnx

语法:msetnx key value [key value ...]

解释:所有key都不存在才执行set操作

[plain] view plaincopy
 
  1. redis 127.0.0.1:6379> msetnx user.4.name lisi user.4.age 34  #key 都设置过,无法再次set  
  2. (integer) 0  
  3. redis 127.0.0.1:6379> msetnx user.4.name lisi user.4.std 3   #key user.4.name 曾设置过,无法再次设置  
  4. (integer) 0  
  5. redis 127.0.0.1:6379> msetnx user.4.tech lisi user.4.std 3   #key都没有设置过,可以再次设  
  6. (integer) 1  

2、查询

a)get

语法:get key

解释:获取key所set的值

[plain] view plaincopy
 
  1. redis 127.0.0.1:6379> get user.4.name  #获取user.4.name 的值  
  2. "lisi"  
  3. redis 127.0.0.1:6379> get user.4.age  
  4. "34"  
  5. redis 127.0.0.1:6379> get user.4.tech  
  6. "lisi"  
  7. redis 127.0.0.1:6379> get user.4.std  
  8. "3"  
b)mget

语法: get key [key]

解释:批量获取key的值。程序一次获取多个值,可以减少网络连接损耗。

 

[plain] view plaincopy
 
  1. redis 127.0.0.1:6379> mget user.4.name user.4.age user.4.std #批量获取存在key的值  
  2. 1) "lisi"   #user.4.name的值  
  3. 2) "34"     #user.4.age 的值  
  4. 3) "3"      #user.4.std 的值  
  5.   
  6. redis 127.0.0.1:6379> mget user.4.name user.4.age user.4.std user.4.fri  #key user.4.fri 不存在仍然可以返回  
  7. 1) "lisi"  
  8. 2) "34"  
  9. 3) "3"  
  10. 4) (nil) #user.4.fri 的值  
            c)getrange

 

语法:getrange key star end

解释:获取存储在key中value的字串。字符串的截取有star和end决定,字符串的第一个字符编号是0,第二个是1,一次类推;如果是负数,-1是最后一个字符,-2是倒数第二个字符,一次类推。

[plain] view plaincopy
 
  1. redis 127.0.0.1:6379> get user.4.name  
  2. "lisi"  
  3. redis 127.0.0.1:6379> getrange user.4.name 0 3  # 0 表示开始  
  4. "lisi"  
  5. redis 127.0.0.1:6379> getrange user.4.name 1 2  
  6. "is"  
  7. redis 127.0.0.1:6379> getrange user.4.name 1 -2 #-2 表示倒数第二  
  8. "is"  
  9. redis 127.0.0.1:6379> getrange user.4.name -1 -2  # end 》 start  
  10. ""  
  11. redis 127.0.0.1:6379> getrange user.4.name 1 66  #end 》 值的长度  
  12. "isi"  
 3、修改

 

a)getset

语法:getset key value

解释:设置key的值,并返回key的旧值。

[plain] view plaincopy
 
  1. redis 127.0.0.1:6379> get user.4.name   #存在的key  
  2. "lisi"  
  3. redis 127.0.0.1:6379> getset user.4.name wangwu  #把存在的user.4.name设置为wagnwu  
  4. "lisi"  
  5. redis 127.0.0.1:6379> get user.4.name    
  6. "wangwu"  
  7. redis 127.0.0.1:6379> get user.5.name  #不存在的key  
  8. (nil)  
  9. redis 127.0.0.1:6379> getset user.5.name lisi  
  10. (nil)  
  11. redis 127.0.0.1:6379> get user.5.name  
  12. "lisi"  
 b) append

语法:append key value

解释:key存在,在旧值的后面追加value;key不存在,直接set

[plain] view plaincopy
 
  1. redis 127.0.0.1:6379> get user.4.name #存在的key  
  2. "wangwu"  
  3. redis 127.0.0.1:6379> append user.4.name 01  
  4. (integer) 8  
  5. redis 127.0.0.1:6379> get user.4.name  
  6. "wangwu01"  
[plain] view plaincopy
 
  1. redis 127.0.0.1:6379> get user.6.name #不能存在的key  
  2. (nil)  
  3. redis 127.0.0.1:6379> append user.6.name jim  
  4. (integer) 3  
  5. redis 127.0.0.1:6379> get user.6.name  
  6. "jim"  
c)setrange

语法:setrange key offset value

解释:用value重写key值的一部分,偏移量由offset指定

[plain] view plaincopy
 
  1. redis 127.0.0.1:6379> get user.4.name  #key存在  
  2. "wangwu01"  
  3. redis 127.0.0.1:6379> setrange user.4.name 0 lisi  
  4. (integer) 8  
  5. redis 127.0.0.1:6379> get user.4.name  
  6. "lisiwu01"  
  7. redis 127.0.0.1:6379> setrange user.4.name 9 lisi  # offset 》字符串长度  
  8. (integer) 13  
  9. redis 127.0.0.1:6379> get user.4.name  
  10. "lisiwu01\x00lisi"  
  11. redis 127.0.0.1:6379> setrange user.4.name 8 lisi  
  12. (integer) 13  
  13. redis 127.0.0.1:6379> get user.4.name  
  14. "lisiwu01lisii"  
  15. redis 127.0.0.1:6379> get user.6.std #key 不存在  
  16. (nil)  
  17. redis 127.0.0.1:6379> setrange user.6.std 0 3  
  18. (integer) 1  
  19. redis 127.0.0.1:6379> get user.6.std  
  20. "3"  
d)incr

语法:incr key

解释:key中如果存储的是数字,则可以通过incr递增key的值,返回递增后的值。如果key不能存在,视为初始值为0

[plain] view plaincopy
 
  1. redis 127.0.0.1:6379> get user.7.age #key不存在 ,初始值视为0,  
  2. (nil)  
  3. redis 127.0.0.1:6379> incr user.7.age   
  4. (integer) 1  
  5. redis 127.0.0.1:6379> get user.7.age  
  6. "1"  
  7. redis 127.0.0.1:6379> incr user.7.age  
  8. (integer) 2  

e)incrby

语法:incrby key increment

解释:用指定的步长增加key存储的数字。如果步长increment是负数,则减

[plain] view plaincopy
 
  1. redis 127.0.0.1:6379> get user.7.age  
  2. "3"  
  3. redis 127.0.0.1:6379> incrby user.7.age 15  #增加15  
  4. (integer) 18  
  5. redis 127.0.0.1:6379> get user.7.age  
  6. "18"  
  7. redis 127.0.0.1:6379> incrby user.7.fri 18  #key不能存在,原值视为0  
  8. (integer) 18  
  9. redis 127.0.0.1:6379> get user.7.fri  
  10. "18"  
  11. redis 127.0.0.1:6379> incrby  user.7.age -1  #步长为负  
  12. (integer) 17  
  13. redis 127.0.0.1:6379> get user.7.age  
  14. "17"  

f)decr

语法:decr key

解释:递减key保存的数字,如果key不存在,初始值视为0

[plain] view plaincopy
 
  1. redis 127.0.0.1:6379> get user.7.age  
  2. "17"  
  3. redis 127.0.0.1:6379> decr user.7.age  
  4. (integer) 16  
  5. redis 127.0.0.1:6379> decr user.7.num #key 不存在,初始值视为0  
  6. (integer) -1  
  7. redis 127.0.0.1:6379> decr user.7.num  
  8. (integer) -2  

 

g)decrby

语法:decrby key decrement

解释:用指定的步长递减key的值,如果步长decrment是负值,则递增

[plain] view plaincopy
 
  1. redis 127.0.0.1:6379> decrby user.7.num 4  #递减  
  2. (integer) -6  
  3. redis 127.0.0.1:6379> decrby user.7.num -9 #负值,递增  
  4. (integer) 3  

注意:递增递减系列的函数,只能对保存的是数字的key操作,不能是字符串

 

  4)删除

语法:del key [key]

解释:删除指定的key,返回删除key的个数

 

[plain] view plaincopy
 
  1. redis 127.0.0.1:6379> del user.7.num  
  2. (integer) 1  
  3. redis 127.0.0.1:6379> get user.7.num  
  4. (nil)  
  5. redis 127.0.0.1:6379> del user.7.age user.7.fri #删除多个key  
  6. (integer) 2  
  7. redis 127.0.0.1:6379> mget user.7.age user.7.fri  
  8. 1) (nil)  
  9. 2) (nil)  

  5)其他

语法:strlen key

解释:获取key中所存储值的长度

 

[plain] view plaincopy
 
  1. redis 127.0.0.1:6379> get user.1.name  
  2. "45"  
  3. redis 127.0.0.1:6379> strlen user.1.name  #user.1.name 长度  
  4. (integer) 2  
  5. redis 127.0.0.1:6379> strlen user.8.name #key不存在  
  6. (integer) 0  

 

通过上面的大量demo,对string的操作基本总结完毕。今天就到这里吧!

 

更多信息,请参考:http://redis.io/commands#string

如果感觉对您有所帮助,请粉新浪微博http://weibo.com/lovecoder   

 

 
0
分享到:
评论

相关推荐

    redis常用命令

    接下来将详细解析与“redis常用命令”相关的知识点。 ### 一、Redis简介 Redis (Remote Dictionary Server) 是一个使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言...

    redis 常用命令

    ### Redis常用命令详解 Redis(Remote Dictionary Server)是一款开源的键值存储系统,以其高性能、低延迟的特点在缓存、消息队列等场景下得到广泛应用。本文将对Redis中的常用命令进行详细介绍,帮助读者更好地...

    redis基本命令-封装redis常用基本命令.zip

    封装redis常用基本命令.zip封装redis常用基本命令.zip封装redis常用基本命令.zip封装redis常用基本命令.zip封装redis常用基本命令.zip封装redis常用基本命令.zip封装redis常用基本命令.zip封装redis常用基本命令.zip...

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

    下面是对 Redis 的常用命令、配置文件、持久化、事务、主从复制、Jedis 使用的详细讲解。 Redis 常用命令 Redis 提供了很多有用的命令来管理和操作数据。下面是一些常用的 Redis 命令: * SET key value:设置...

    redis常用命令详细带例子

    redis命令实践 redis常用命令详细带例子

    思维导图:Redis常用命令

    思维导图:Redis常用命令

    redis常用命令操作.txt

    redis常用命令操作.txt

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

    ### Redis常用命令详解 Redis是一种高性能的键值对存储系统,因其卓越的速度和灵活性而广泛应用于缓存、消息队列等多种场景。本文将基于提供的文件信息,深入解析几个Redis中的常用命令及其应用场景。 #### 一、键...

    第6单元 Redis常用命令2

    【Redis常用命令详解】 Redis是一种高性能的键值存储系统,广泛应用于缓存、数据库和消息队列等场景。本篇文章将深入讲解Redis中的一些常用命令,包括Connection连接、Server管理和Key操作。 **6.1 Connection连接...

    Redis 常用命令和场景使用.docx

    Redis 常用命令和场景使用 Redis 是一个开源的、基于内存的数据结构存储系统,提供了丰富的命令来处理不同的数据类型和场景。下面是 Redis 中一些常用的命令和场景使用: 字符串命令 1. SET:设置键值对,覆盖...

    Redis常用命令实践.md

    ### Redis常用命令实践 #### 一、概述 Redis是一种高性能的键值存储系统,它能够支持多种复杂的数据结构,如字符串、哈希、列表、集合、有序集合等,并且提供了丰富的命令来操作这些数据结构。这使得Redis不仅适用...

    Redis常用命令、Redis高级命令、Redis命令、redis命令实践

    ### Redis 命令实践详解 #### 一、基本命令 Redis 提供了一系列的基本命令来操作键值对数据。这些命令简单易用,是 Redis 的基础功能。 ##### SET **命令格式**: `SET key value` - **作用**: 设置键 `key` 的...

    redis常用命令整理.docx

    Redis 常用命令整理 Redis 是一种高性能的 Nosql 数据库,具有丰富的命令集,以下是 Redis 中常用的命令整理: 连接操作相关的命令 * quit:关闭连接(connection) * auth:简单密码认证持久化 * save:将数据...

    redis常用命令以及在java中的具体实现以及配置.docx

    ### Redis 常用命令及 Java 实现 #### 一、Redis 命令简介 Redis 是一个开源的键值数据库系统,它提供了多种数据结构的存储方式,并且支持简单的事务处理、主从同步等功能。在开发过程中,Redis 的一些基本命令被...

    redis常用命令集合.pdf

    以上所述的知识点涵盖了Redis的基本使用,包括数据类型、特性、操作命令、缓存问题及解决方案等,对于理解和运用Redis具有重要的参考价值。在实际使用Redis的过程中,开发者应根据应用场景和需求选择合适的数据结构...

Global site tag (gtag.js) - Google Analytics