Redis命令快速上手:从入门到精通
创作时间:
作者:
@小白创作中心
Redis命令快速上手:从入门到精通
引用
CSDN
等
7
来源
1.
https://blog.csdn.net/Lzy410992/article/details/116094703
2.
https://baike.baidu.com/item/Redis/6549233
3.
https://baijiahao.baidu.com/s?id=1802996909546024195
4.
https://blog.csdn.net/weixin_49851451/article/details/134311296
5.
https://m.toutiao.com/article/7203330681945178685/
6.
https://javaguide.cn/database/redis/redis-data-structures-01.html
7.
https://redis.com.cn/commands.html
Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统,常被用作数据库、缓存和消息队列等。它支持多种数据结构,包括字符串、列表、哈希表、集合和有序集合。通过学习Redis的核心命令,你可以轻松掌握其各种功能,从入门到精通。
基础命令
连接与信息查询
要连接到Redis服务器,可以使用redis-cli
命令行工具:
redis-cli -h host -p port -a password
其中host
是Redis服务器的主机名,port
是端口号,password
是连接密码(如果有)。
连接后,可以使用以下命令获取服务器信息:
INFO
:返回Redis服务器的详细信息PING
:检测连接是否存活QUIT
:退出客户端
键管理
在Redis中,无论什么数据类型,都是以键值对形式保存的。以下是一些常用的键管理命令:
KEYS pattern
:查找所有符合给定模式的键EXISTS key
:检查键是否存在DEL key
:删除键EXPIRE key seconds
:为键设置过期时间TTL key
:获取键的剩余生存时间TYPE key
:获取键的类型
数据类型命令
字符串(String)
字符串是最基本的数据类型,可以存储字符串、整数或浮点数。常用命令包括:
SET key value
:设置键的值GET key
:获取键的值INCR key
:将键的值增1DECR key
:将键的值减1STRLEN key
:获取键值的长度
示例:
SET name "ctt"
GET name
INCR counter
列表(List)
列表是一个链表结构,支持从头部或尾部插入元素。常用命令包括:
LPUSH key value
:在列表头部插入元素RPUSH key value
:在列表尾部插入元素LPOP key
:移除并返回列表的第一个元素RPOP key
:移除并返回列表的最后一个元素LRANGE key start end
:获取列表指定范围的元素
示例:
LPUSH mylist "first"
RPUSH mylist "last"
LRANGE mylist 0 -1
哈希表(Hash)
哈希表用于存储键值对集合。常用命令包括:
HSET key field value
:设置哈希表字段的值HGET key field
:获取哈希表字段的值HDEL key field
:删除哈希表字段HGETALL key
:获取哈希表所有字段和值HEXISTS key field
:检查哈希表字段是否存在
示例:
HSET user:1000 username "ctt"
HGET user:1000 username
HGETALL user:1000
集合(Set)
集合用于存储无序的唯一元素集合。常用命令包括:
SADD key member
:向集合添加成员SMEMBERS key
:获取集合所有成员SREM key member
:移除集合成员SCARD key
:获取集合成员数量SINTER key1 key2
:获取多个集合的交集
示例:
SADD myset "apple"
SADD myset "banana"
SMEMBERS myset
有序集合(Sorted Set)
有序集合用于存储有序的唯一元素集合。常用命令包括:
ZADD key score member
:向有序集合添加成员ZRANGE key start end
:获取有序集合指定范围的成员ZREM key member
:移除有序集合成员ZCARD key
:获取有序集合成员数量ZSCORE key member
:获取成员的分数
示例:
ZADD myzset 1 "one"
ZADD myzset 2 "two"
ZRANGE myzset 0 -1 WITHSCORES
高级特性
事务
Redis支持简单的事务机制,可以将多个命令打包在一起执行。使用MULTI
和EXEC
命令:
MULTI
SET key1 "value1"
SET key2 "value2"
EXEC
发布与订阅
Redis支持发布订阅模式,可以用于简单的消息传递。使用PUBLISH
、SUBSCRIBE
和UNSUBSCRIBE
命令:
PUBLISH channel message
SUBSCRIBE channel
UNSUBSCRIBE channel
最佳实践
连接管理:使用连接池管理连接,避免频繁创建和销毁连接。
pool = redis.ConnectionPool(max_connections=20, health_check_interval=30) conn = redis.Redis(connection_pool=pool)
异常处理:在客户端代码中添加适当的异常处理。
def safe_get(key): try: return self.conn.get(key) except redis.ConnectionError: self.reconnect() return None except redis.TimeoutError: log.warning("Redis操作超时") return None
数据类型转换:根据数据类型选择合适的方法。
def get_int(key): val = self.conn.get(key) return int(val) if val else 0 def get_json(key): val = self.conn.get(key) return json.loads(val.decode()) if val else {}
避免使用底层request方法:直接使用
execute_command
或自定义的request
方法容易出错,应优先使用官方客户端提供的标准方法。
通过掌握这些核心命令和最佳实践,你可以充分利用Redis的强大功能,构建高效的应用程序。
热门推荐
西安旅游大雁塔周边全攻略
地支为寅木 八字基础之地支寅木取象
人工智能在医院和诊所中的作用:21世纪的医疗转型
揭秘:经常喝茶如何促进牙齿健康
普洱茶成分缓解牙龈炎症状:天然饮品助力口腔健康
一到中年,就雄秃雄秃的…
数据可视化与交互融合:APP 界面设计的新维度
武则天与开元之治:唐朝盛世的统治智慧
禹字取名的寓意,女孩名字带禹配什么字好听
2024年出生的属龙男孩起名推荐带禹字好吗
【洛阳纸贵】成语意思、典故出处、造句、寓意最全介绍
故事、人物、生命力:《春色寄情人》有何不同?
纹身背后的故事:不只是皮肤上的艺术
重庆珍档 | 石柱700多年的土司史 也是这家人的家史
石柱马氏土司探源——古城坝遗址的考古收获
心脏康复——让心梗患者重获“心”生!
斗破苍穹:三位拥有焚诀之人,陀舍古帝吞噬二十种异火,萧炎六种
贝蒂斯vs皇马前瞻:安东尼PK姆巴佩 皇马分心欧冠战马竞 客场防平
阳春已至,让自己“生”起来
一文看懂!医保统筹支付、个人自付、个人自费……都是啥意思?
双肺慢性炎症的病因与治疗方法
治疗咽鼓管堵塞的药有哪些
淮安区逆袭:如何凭借“+旅游”实现城市转型?
情感独立与自我价值:构建强大内心世界的基石
中药美白最有效的有哪几种?
手眼直通军政商,登上《上海名人录》,大流氓杜月笙如何洗白的?
苯二氮卓戒断综合症的治疗
脸容易红怎么解决
紫藤萝的花语:从自信到永恒的十五种寓意
如何申请交警调解案件