Redis

本文详细介绍了Redis中的字符串操作,包括设置、获取、判断key存在、转移、查询所有key、清除缓存、切换数据库、设置存活时间、追加、截取、替换、批量设置与获取等常见指令。此外,还展示了计数器、统计、对象缓存存储等应用场景,强调了Redis在数据存储和管理中的高效能。
摘要由CSDN通过智能技术生成

Redis学习

1.1、redis中的key

1.使用客户端连接我们的服务器在这里插入图片描述
2.常用的基础命令
在这里插入图片描述

常见的指令说明:
127.0.0.1:6379> set name jiang             设置key值
OK
127.0.0.1:6379> get name                   获取key值
"jiang"
127.0.0.1:6379> EXISTS name                判断是否存在该key值
(integer) 1
127.0.0.1:6379> EXISTS names
(integer) 0
127.0.0.1:6379> move name 1               转移key的存储位置 后接数字为数据库编号
(integer) 1
127.0.0.1:6379> keys *                    查询所有的key
1) "yao"
2) "jiang"
127.0.0.1:6379> FLUSHALL                  清除redis缓存
OK
(empty array)
127.0.0.1:6379> flushdb                   清除redis缓存
OK
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> select 1                  切换数据库
OK
127.0.0.1:6379[1]> expire name 10         设置key值的存活时间
(integer) 1
127.0.0.1:6379[1]> ttl name               查询key的剩余存活时间
(integer) 8
127.0.0.1:6379> type name                 查询key的数据类型
string
127.0.0.1:6379> append name weikang       追加key
(integer) 12
127.0.0.1:6379> get name
"jiangweikang"
127.0.0.1:6379> strlen name               查询key值的长度
(integer) 12
String(字符串)
##############################################

常见的应用 :

1、记录 +1  或者 -1  : 使用   incr 和 decr 实现自动加减
127.0.0.1:6379> set view 1
OK
127.0.0.1:6379> get view
"1"
127.0.0.1:6379> incr view
(integer) 2
127.0.0.1:6379> get view
"2"
127.0.0.1:6379> incr view
(integer) 3
127.0.0.1:6379> get view
"3"
127.0.0.1:6379> decr view
(integer) 2
127.0.0.1:6379> get view
"2"
127.0.0.1:6379> decr view
(integer) 1
127.0.0.1:6379> decr view
(integer) 0
127.0.0.1:6379> decr view
(integer) -1
127.0.0.1:6379> get view
"-1"


2、截取字符串 :getrange  key 起始下标 终止下标
127.0.0.1:6379> set name jiangweikang
OK
127.0.0.1:6379> get name
"jiangweikang"
127.0.0.1:6379> getrange name 0 4
"jiang"
127.0.0.1:6379> getrange name 0 -1
"jiangweikang"
127.0.0.1:6379>

3、替换   setrange

127.0.0.1:6379> set age 123456
OK
127.0.0.1:6379> get age
"123456"
127.0.0.1:6379> setrange age 0 11111
(integer) 6
127.0.0.1:6379> get age
"111116"

4、设置key值同时设置过期时间   setex  (set with expire)
127.0.0.1:6379> setex name2 30 yao
OK
127.0.0.1:6379> keys *
2) "name2"
127.0.0.1:6379> ttl name2
(integer) -2

5、判断是否存在    setnx  (set if not exits)
127.0.0.1:6379> setnx name2 jiang    设置成功
(integer) 1
127.0.0.1:6379> setnx name2 jiang    存在该key了  设置失败
(integer) 0

6、批量设置 mset 和 获取 mget

127.0.0.1:6379> mset k1 v1 k2 v2 k v3
OK
127.0.0.1:6379> keys *
1) "k"
2) "k2"
3) "k1"
127.0.0.1:6379> mget k1 k2 k
1) "v1"
2) "v2"
3) "v3"

6、批量 msetnx  遵从原子性
127.0.0.1:6379> msetnx k4 v4 k2 v2     失败
(integer) 0
127.0.0.1:6379> msetnx k4 v4 k5 v5     成功,原子性操作 ,一起失败, 一起成功!
(integer) 1
127.0.0.1:6379> keys *
1) "k4"
2) "k"
3) "k5"
4) "k2"
5) "k1"
127.0.0.1:6379>

7.设置对象
127.0.0.1:6379> set user:1 {name:zhangsan,age:3}
OK
127.0.0.1:6379> get user
(nil)
127.0.0.1:6379> get user:1
"{name:zhangsan,age:3}"
127.0.0.1:6379> get user:1:name
(nil)

########### 这里是一个巧妙的设计 user:{id}:{field},在redis中完全ok!

127.0.0.1:6379> mset user:1:name zhangsan user:1:age 2
OK
127.0.0.1:6379> mget user:1:name user:1:age
1) "zhangsan"
2) "2"

8、getset  先get再set

127.0.0.1:6379> set key redis
OK
127.0.0.1:6379> get key'
Invalid argument(s)
127.0.0.1:6379> get key
"redis"
127.0.0.1:6379> getset key mogodb
"redis"
127.0.0.1:6379> get key
"mogodb"


常用场景:
     - 计数器
     - 统计多单位的数量  
     - 对象缓存存储
     - 粉丝数    uuid:82837489:follow   incr / decr 

更多的指令可以去官网去查:[官网命令地址](http://redis.cn/commands.html)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值