redis学习笔记(三)

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Redis 版,经济版 1GB 1个月
简介: redis学习笔记(三)

key操作

redis中所有的数据都是通过key(键)来进行操作,这里我们学习一下关于任何数据类型都通用的命令。

(1)查找键

参数支持简单的正则表达式

keys pattern

查看所有键

keys *

例子:

# 查看名称中包含`a`的键
keys *a*
# 查看以a开头的键
keys a*
# 查看以a结尾的键
keys *a
127.0.0.1:6379> keys *
1) "name"
2) "user_01"
3) "age"
127.0.0.1:6379> keys *_01
1) "user_01"
127.0.0.1:6379> keys *a*
1) "name"
2) "age"
127.0.0.1:6379> exists name
(integer) 1
127.0.0.1:6379> exists names
(integer) 0
127.0.0.1:6379> type name
string
127.0.0.1:6379> del name age
(integer) 2
127.0.0.1:6379> keys *
1) "user_01"
127.0.0.1:6379> setex name  100 llz
OK
127.0.0.1:6379> get name
"llz"
127.0.0.1:6379> ttl name
(integer) 79
127.0.0.1:6379> ttl name
(integer) 75
127.0.0.1:6379> ttl name
(integer) 61
127.0.0.1:6379> get age
(nil)
127.0.0.1:6379> expire age 15
(integer) 0
127.0.0.1:6379> get age
(nil)
127.0.0.1:6379> set age 18
OK
127.0.0.1:6379> get age
"18"
127.0.0.1:6379> rename age nianlin
OK
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> get name
(nil)
127.0.0.1:6379[1]> set name lz
OK
127.0.0.1:6379[1]> get name
"lz"
127.0.0.1:6379[1]>

(2)判断键是否存在

如果存在返回1,不存在返回0

exists key1

判断键title是否存在

exists title

(3)查看键的的值的数据类型

type key
# string    字符串
# hash      哈希类型
# list      列表类型
# set       无序集合
# zset      有序集合

查看键的值类型

type a1
# string
sadd member_list xiaoming xiaohong xiaobai
# (integer) 3
type member_list
# set
hset user_1 name xiaobai age 17 sex 1
# (integer) 3
type user_1
# hash
lpush brothers zhangfei guangyu liubei xiaohei
# (integer) 4
type brothers
# list
zadd achievements 61 xiaoming 62 xiaohong 83 xiaobai  78 xiaohei 87 xiaohui 99 xiaolong
# (integer) 6
type achievements
# zset

(4)删除键以及键对应的值

del key1 key2 ...

(5)查看键的有效期

ttl key
# 结果结果是秒作为单位的整数
# -1 表示永不过期
# -2 表示当前数据已经过期,查看一个不存在的数据的有效期就是-2

(6)设置key的有效期

给已有的数据重新设置有效期,redis中所有的数据都可以通过expire来设置它的有效期。有效期到了,数据就被删除。

expire key seconds

(7)清空所有key

慎用,一旦执行,则redis所有数据库0~15的全部key都会被清除

flushall

(8)key重命名

rename  oldkey newkey

把name重命名为username

set name yuan
rename name username
get username

select切换数据库

redis的配置文件中,默认有0~15之间的16个数据库,默认操作的就是0号数据库
select <数据库ID>

操作效果:

# 默认处于0号库
127.0.0.1:6379> select 1
OK
# 这是在1号库
127.0.0.1:6379[1]> set name xiaoming
OK
127.0.0.1:6379[1]> select 2
OK
# 这是在2号库
127.0.0.1:6379[2]> set name xiaohei
OK
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> keys *
1) "name"
2) "nianlin"
3) "user_01"
127.0.0.1:6379> flushall
OK
127.0.0.1:6379>
127.0.0.1:6379> keys *
(empty list or set)


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
29天前
|
存储 缓存 NoSQL
redis学习笔记
Redis是一款由C语言编写的内存中的键值对数据库,包含多种数据结构如字符串、散列、列表、集合、有序集合等。它支持复制、LUA脚本、LRU策略、事务和持久化。Redis官网提供详细文档,可用于分布式缓存、防止缓存击穿、分布式锁、消息队列等场景。安装Redis 7.0.15版,需下载、配置环境变量、修改配置文件以设置守护进程、关闭保护模式和密码。Redis基础命令包括键操作如DEL、EXISTS、EXPIRE等,数据类型包括字符串和哈希等,如HSET用于设置哈希表字段值,HGET用于获取字段值。
21 0
|
1月前
|
NoSQL Redis 数据库
Redis学习笔记
Redis学习笔记
|
10月前
|
NoSQL Redis
redis学习笔记(五)
redis学习笔记(五)
|
10月前
|
NoSQL Java Redis
redis学习笔记(二)
redis学习笔记(二)
|
10月前
|
NoSQL Redis Python
redis学习笔记(九)
redis学习笔记(九)
|
10月前
|
NoSQL Java Redis
redis学习笔记(八)
redis学习笔记(八)
|
10月前
|
NoSQL Redis 索引
redis学习笔记(四)
redis学习笔记(四)
|
10月前
|
SQL NoSQL 关系型数据库
redis学习笔记(一)
redis学习笔记(一)
|
10月前
|
缓存 NoSQL Redis
redis学习笔记(十)
redis学习笔记(十)
|
10月前
|
NoSQL Redis
redis学习笔记(七)
redis学习笔记(七)