Redis 字符串类型数据的操作命令

简介:

1、进入redis客户端

/usr/local/redis/bin/redis-cli 

127.0.0.1:6379> 


2、set:设置字符串类型数据 

1
2
3
4
5
6
127.0.0.1:6379>  set  name zhangsan
OK
127.0.0.1:6379>  set  name lisi
OK
127.0.0.1:6379> get name
"lisi"

从上面例子可知,如果key已经存在,再次用set设置值会覆盖原来的值


3、setnx:(set not exist)如果key已经存在,则返回0,如果key不存在才设置值

1
2
3
4
5
6
7
8
9
127.0.0.1:6379> setnx name wangwu
(integer) 0
127.0.0.1:6379> get name
"lisi"
127.0.0.1:6379> setnx job SE
(integer) 1
127.0.0.1:6379> get job
"SE"
127.0.0.1:6379>


4、setex(set  ):设置key对应的值为string类型的value,并指定此键值对应的有效期

例如:我们添加一个haircolor=red的键值对,并指定有效期为10秒

1
2
3
4
5
6
127.0.0.1:6379> setex haircolor 10 red
OK
127.0.0.1:6379> get haircolor
"red"
127.0.0.1:6379> get haircolor
(nil)

 

5、setrange: 从指定下标位置开始替换字符,并返回字符长度。如果替换的字符串长度没有原字符串长度长,则会保留没有被替换的字符串

1
2
3
4
5
6
7
8
9
127.0.0.1:6379>  set  mail zeng@163.com
OK
127.0.0.1:6379> get mail
"zeng@163.com"
127.0.0.1:6379> setrange mail 5 qq.com   //5 代表下标位置,下标从0开始
(integer) 12
127.0.0.1:6379> get mail
"zeng@qq.comm"  
127.0.0.1:6379>


6、mset:一次性设置多个key的值,成功返回ok,表示所有值都设置了,失败返回0,表示没有任何值被设置

1
2
3
4
5
6
7
8
127.0.0.1:6379> mset key1 aaa key2 bbb key3 ccc
OK
127.0.0.1:6379> get key1
"aaa"
127.0.0.1:6379> get key2
"bbb"
127.0.0.1:6379> get key3
"ccc"


7、msetnx:一次设置多个key的值,成功返回ok,表示所有的值都设置了,失败返回0表示没有任何值被设置,但是不会覆盖已经存在的key

1
2
3
4
5
6
7
8
127.0.0.1:6379> msetnx key3 cc key4 ddd key5 eee
(integer) 0
127.0.0.1:6379> get key3
"ccc"
127.0.0.1:6379> get key4
(nil)
127.0.0.1:6379> get key5
(nil)

由于key3已经存在,导致key4 key5都设置失败了


8、get:获取key对应string的值,如果值不存在则返回nil


9、getset:设置key的值,并返回key的旧值

1
2
3
4
127.0.0.1:6379> getset key1 aaaa
"aaa"
127.0.0.1:6379> get key1
"aaaa"


10、getrange KEY N M:获取指定下标位置的key的值

1
2
3
4
5
127.0.0.1:6379> getrange mail 0 4
"zeng@"
127.0.0.1:6379> getrange mail 0 3
"zeng"
127.0.0.1:6379>


11、mget:获取多个key的值

1
2
3
4
127.0.0.1:6379> mget key1 key2 key3
1)  "aaaa"
2)  "bbb"
3)  "ccc"


12、incr:对key的值做加加操作,并返回最新的值

1
2
3
4
5
6
7
8
127.0.0.1:6379>  set  key4 10
OK
127.0.0.1:6379> incr key4 
(integer) 11
127.0.0.1:6379> incr key4 
(integer) 12
127.0.0.1:6379> incr key4 
(integer) 13


13、incrby:同incr类似,加指定值,key不存在的时候会设置key,并认为原来的value是0

1
2
3
4
5
6
7
8
9
10
127.0.0.1:6379> incrby key4  10
(integer) 23
127.0.0.1:6379> incrby key4  10
(integer) 33
127.0.0.1:6379> get key4
"33"
127.0.0.1:6379> incrby key4  -5
(integer) 28
127.0.0.1:6379> incrby key4  -5
(integer) 23


14、decr:对key的值做减减操作

1
2
3
4
127.0.0.1:6379> decr key4 
(integer) 22
127.0.0.1:6379> decr key4 
(integer) 21


15、decrby:与decrby相反

1
2
3
4
5
6
127.0.0.1:6379> decrby key4 2
(integer) 19
127.0.0.1:6379> decrby key4 2
(integer) 17
127.0.0.1:6379> decrby key4 2
(integer) 15


16、append:给指定key的字符串追加value,返回新字符串值 的长度

1
2
3
4
5
6
127.0.0.1:6379> get name
"zeng"
127.0.0.1:6379> append name .com
(integer) 8
127.0.0.1:6379> get name
"zeng.com"


17、strlen:查看key对应值得长度

1
2
127.0.0.1:6379> strlen name
(integer) 8










本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1853820,如需转载请自行联系原作者

目录
相关文章
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
存储 缓存 监控
Redis设计与实现——Redis命令参考与高级特性
Redis 是一个高性能的键值存储系统,支持丰富的数据类型(字符串、列表、哈希、集合等)和多种高级功能。本文档涵盖 Redis 的核心命令分类,包括数据类型操作、事务与脚本、持久化、集群管理、系统监控等。特别介绍了事务的原子性特性、Lua 脚本的执行方式及优势、排序机制、发布订阅模型以及慢查询日志和监视器工具的使用方法。适用于开发者快速掌握 Redis 常用命令及其应用场景,优化系统性能与可靠性。
635 12
|
存储 缓存 NoSQL
Redis基础命令与数据结构概览
Redis是一个功能强大的键值存储系统,提供了丰富的数据结构以及相应的操作命令来满足现代应用程序对于高速读写和灵活数据处理的需求。通过掌握这些基础命令,开发者能够高效地对Redis进行操作,实现数据存储和管理的高性能方案。
381 12
|
NoSQL Redis
Lua脚本协助Redis分布式锁实现命令的原子性
利用Lua脚本确保Redis操作的原子性是分布式锁安全性的关键所在,可以大幅减少由于网络分区、客户端故障等导致的锁无法正确释放的情况,从而在分布式系统中保证数据操作的安全性和一致性。在将这些概念应用于生产环境前,建议深入理解Redis事务与Lua脚本的工作原理以及分布式锁的可能问题和解决方案。
497 8
|
存储 消息中间件 NoSQL
【Redis】常用数据结构之List篇:从常用命令到典型使用场景
本文将系统探讨 Redis List 的核心特性、完整命令体系、底层存储实现以及典型实践场景,为读者构建从理论到应用的完整认知框架,助力开发者在实际业务中高效运用这一数据结构解决问题。
|
存储 缓存 人工智能
Redis六大常见命令详解:从set/get到过期策略的全方位解析
本文将通过结构化学习路径,帮助读者实现从命令语法掌握到工程化实践落地的能力跃迁,系统性提升 Redis 技术栈的应用水平。
|
存储 缓存 NoSQL
告别数据僵尸!Redis实现自动清理过期键值对
在数据激增的时代,Redis如同内存管理的智能管家,支持键值对的自动过期功能,实现“数据保鲜”。通过`EXPIRE`设定生命倒计时、`TTL`查询剩余时间,结合惰性删除与定期清理策略,Redis高效维护内存秩序。本文以Python实战演示其过期机制,并提供最佳实践指南,助你掌握数据生命周期管理的艺术,让数据优雅退场。
716 0