Redis_02数据类型一

Redis数据类型一 :String(字符串)

Redis-key

set [key] [value]  # 设置key的value值
get [key]  # 获取key的value值
EXISTS [key] # 判断key是否存在,(integer)0:不存在 (integer) 1: 存在
move [key] 1 # 移除当前数据库指定的key
EXPIRE [key] 10 # 设置key的过期时间(单位秒)
ttl [key] # 查看剩余秒数(time to live)
type [key] # 查看数据类型

String类似的使用场景:value除了字符串还可以是数字

  • 计数器
  • 统计多单位数量 uid:95256449:follow 0
  • 粉丝数
  • 对象缓存存储

append:为key追加字符串,不存在则新增

strlen:获取字符串长度

127.0.0.1:6379> append name 'axu'
(integer) 3
127.0.0.1:6379> strlen name
(integer) 3

incr(increase):自增1

decr(decrease):自减1

INCRBY [key] [num] :设置步长,指定增量
DECRBY [key] [num] : 设置步长,指定减量

127.0.0.1:6379> incr view
(integer) 1
127.0.0.1:6379> incr view
(integer) 2
127.0.0.1:6379> decr view
(integer) 1
127.0.0.1:6379> INCRBY view 3 # 增长3
(integer) 4
127.0.0.1:6379> get view
"4"
127.0.0.1:6379> DECRBY view 2 # 减少2
(integer) 2
127.0.0.1:6379> get view
"2"
127.0.0.1:6379> 

getrange key start end:截取开始到结尾的字符串

setrange key start value:替换指定位置开始的字符串

127.0.0.1:6379> set name "zhangzhehan"
OK
127.0.0.1:6379> append name ",hello"
(integer) 17
127.0.0.1:6379> getrange name 0 -1 # 查看全部的字符串
"zhangzhehan,hello"
127.0.0.1:6379> getrange name 0 11 # 查看指定长度的字符串
"zhangzhehan,"
127.0.0.1:6379> getrange name -1 -1 # 查看最后一个字符
"o"
127.0.0.1:6379>getrange name 0 zhou 
127.0.0.1:6379> getrange name 0 -1 
"zhougzhehan,hello"

setex [key] [second] [value]:设置过期时间 (set with expire)

setnx [key] [value] :不存在时再设置(在分布式锁中常常使用,保证当前值是存在的,set if not exist)

mset:设置多个值(multi set)

mget:批量获取值

msetnx:不存在时批量设置,是一个原子性的操作,要么一起成功,要么一起失败

127.0.0.1:6379> setex age 30 18 # 设置age的值为18 30秒后过期
OK   
127.0.0.1:6379> setnx mykey 'redis' #   如果mykey不存在,创建成功
(integer) 1

127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3 # 批量设置k1 k2 k3
OK
127.0.0.1:6379> mget k1 k2 k3 # 批量获取值
1) "v1"
2) "v2"
3) "v3"
127.0.0.1:6379> msetnx k1 v1 k4 v4 # 不存在时才能设置成功
(integer) 0 # 失败
127.0.0.1:6379> 

对象

set user:1 {name:zhouzishu,age:3}: 设置一个user:1对象 值为json字符串来保存对象 user:{id}:{field}

getset [k] [v]

127.0.0.1:6379> mset user:1:name zhuzishu user:1:age 2
OK
127.0.0.1:6379> mget user:1:name user:1:age
1) "zhuzishu"
2) "2"
127.0.0.1:6379>  getset db redis    # 如果不存在值就返回nil,存在值就获取原来的值并获取新的值
(nil)
127.0.0.1:6379> get db
"redis"
127.0.0.1:6379> getset db mongodb
"redis"
127.0.0.1:6379> get db
"mongodb"
127.0.0.1:6379> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值