Redis的基本使用

目录

string 增删改查

hashes 增删改查

lists的增删查的实现

set的增删查实现

zset的增删查实现


string 增删改查

127.0.0.1:6379> select 8                              切换数据库端口 8
OK
127.0.0.1:6379[8]> keys *                             查看所有的键
(empty list or set)
127.0.0.1:6379[8]> set name pass               设置键名为name的值为pass
OK

127.0.0.1:6379[8]> get name                        查看键名name的值
"pass"
127.0.0.1:6379[8]> set name admin             修改name的值为admin
OK
127.0.0.1:6379[8]> get name                        查看修改结果
"admin"
127.0.0.1:6379[8]> del name                        删除键名为name的键值对
(integer) 1
127.0.0.1:6379[8]> get name                       查看删除结果
(nil)
127.0.0.1:6379[8]> setex session 20 xxx     设置键名为session值为xxx的过期时间20s
OK
127.0.0.1:6379[8]> get session                   
"xxx"
127.0.0.1:6379[8]> ttl session                       查看过期时间,单位s
(integer) 13

127.0.0.1:6379[8]> mset name pass age 25 设置多键name值为pass键age值为age的键值对
OK
127.0.0.1:6379[8]> mget name age              查看name和age的键值
1) "pass"
2) "25"
127.0.0.1:6379[8]> expire name 60              设置键值对name的过期时间60s
(integer) 1
127.0.0.1:6379[8]> ttl name
(integer) 54

127.0.0.1:6379[8]> exists name                    查看键为name的是否存在
(integer) 1
127.0.0.1:6379[8]> get name
"pass"
127.0.0.1:6379[8]> ttl name
(integer) -2

127.0.0.1:6379[8]> get name
(nil)

127.0.0.1:6379[8]> exists name
(integer) 0

hashes 增删改查

127.0.0.1:6379[8]> hset person name pass       设置person的键为name的值
(integer) 1
127.0.0.1:6379[8]> hset person age 25              设置person的键为age的值
(integer) 1
127.0.0.1:6379[8]> hget person name                获取person的键为name的值
"pass"
127.0.0.1:6379[8]> hget person age
"25"
127.0.0.1:6379[8]> hmget person name age     获取person的键为name、age的值
1) "pass"
2) "25"
127.0.0.1:6379[8]> hkeys person                       查看person的所有键名
1) "name"
2) "age"
127.0.0.1:6379[8]> hvals person                        查看person的所有值名
1) "pass"
2) "25"
127.0.0.1:6379[8]> hdel person name                删除person的键为name的值
(integer) 1
127.0.0.1:6379[8]> hkeys person
1) "age"
127.0.0.1:6379[8]> hset person age 18              修改person的键为name的值
(integer) 0
127.0.0.1:6379[8]> hget person age
"18"

lists的增删查的实现

127.0.0.1:6379[8]> lpush numbers 1              从左边插入键为numbers的值列表值1
(integer) 1
127.0.0.1:6379[8]> lpush numbers 2
(integer) 2

127.0.0.1:6379[8]> lrange numbers 0 -1        查看键为numbers列表的值0到-1表示全部
1) "2"
2) "1"
127.0.0.1:6379[8]> rpush numbers 3             从右边插入键为numbers的值列表值3
(integer) 3
127.0.0.1:6379[8]> lrange numbers 0 -1
1) "2"
2) "1"
3) "3"

127.0.0.1:6379[8]> lrem numbers 1 3           删除键为numbers的值从左向右[0]个3的值,0表示全部
(integer) 1
127.0.0.1:6379[8]> lrange numbers 0 -1
1) "3"
2) "2"
3) "1"
4) "3"
127.0.0.1:6379[8]> lrem numbers 1 3
(integer) 1
127.0.0.1:6379[8]> lrange numbers 0 -1
1) "2"
2) "1"
3) "3"
127.0.0.1:6379[8]> lrem numbers 0 3
(integer) 1
127.0.0.1:6379[8]> lrange numbers 0 -1
1) "2"
2) "1"

set的增删查实现

127.0.0.1:6379[8]> sadd names pass          增加键为names的值为pass的集合
(integer) 1
127.0.0.1:6379[8]> sadd names admin
(integer) 1
127.0.0.1:6379[8]> sadd names root
(integer) 1
127.0.0.1:6379[8]> smembers  names        查看键为names的值的集合
1) "root"
2) "admin"
3) "pass"
127.0.0.1:6379[8]> srem names root          删除键为names的值为root的集合
(integer) 1
127.0.0.1:6379[8]> smembers  names
1) "admin"
2) "pass"

zset的增删查实现
  • sorted set 有序集合
  • 元素为string类型
  • 元素具有唯一性,不重复
  • 每个元素都有关联一个double的score表示权重,通过权重大小进行排序
  • 没有修改操作

127.0.0.1:6379[8]> zadd grade 80 pass  60 admin     增加键为grade的权重80的pass,60的admin
(integer) 2
127.0.0.1:6379[8]> zrange grade 0 -1                         查看键为grade的值
1) "admin"
2) "pass"
127.0.0.1:6379[8]> zrem grade pass                           删除键为grade的pass值
(integer) 1
127.0.0.1:6379[8]> zrange grade 0 -1
1) "admin"

Redis中,常用的基本数据类型包括字符串(string)、哈希(hash)、列表(list)、集合(set)和有序集合(sorted set)。Redis本身是一个Map,所有数据都采用key:value的形式存储,而key永远是字符串类型。对于字符串类型,value可以是字符串、整型或浮点型,Redis能够自动识别。除了字符串类型,还有哈希类型,可以存储键值对的集合,对于哈希类型的操作,可以使用HSET、HGET等命令。此外,还有列表类型,用于存储有序的字符串列表,可以使用LPUSH、RPUSH等命令进行操作;集合类型,用于存储不重复的字符串集合,可以使用SADD、SREM等命令进行操作;有序集合类型,用于存储带有权重的有序字符串集合,可以使用ZADD、ZRANGE等命令进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Redis的五种常用数据类型的基本使用](https://blog.csdn.net/weixin_43795939/article/details/107815058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Redis五大基础数据类型的操作](https://blog.csdn.net/weixin_44183721/article/details/126116049)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值