Redis数据类型之字符串

key-value键值对

k e y − − > 字 符 串 / 数 值 key-->字符串/数值 key>/

  1. key 不宜过长,占用内存,也不宜过短,可读性差
    如:user:lauf
  2. 值,为字符串或者数值,最多存储512M

常用命令

$redis-cli

ping

  1. 设置key-value
>set name jack
>mset name jack age 23 addr China

python实现

import redis
r=redis.Redis(host="localhost",port=6379,db=0)
r.set("name","jack")
r.mset({"name":"jack","age":23,"hobby":"football"})
  1. 获取key的值
get name
mget name age hobby

python实现

r.get("name")  #返回字节串
r.mget("name","age","hobby") #返回值列表
  1. 设置key时,设置过期时间
#10s后过期
set name jack ex 10
#不存在时,设置key
set name jack nx

python实现

r.set("name","jack",ex=10)
r.set("name","666",nx=True)
  1. 获取字符串值的长度
strlen name

python实现

r.strlen("name")--->int
  1. 获取字符串的分片
set name jack
getrange name 0 1 #包含1
-->ja

python实现

r.set("name","jack")
r.getrange("name",0,1) 
-->分片的字节串b'ja'
  1. 设置字符串的片段值
set name beikehan
setrange name 1 oo
-->bookehan

python实现

r.setrange("name",1,"oo")
  1. 数值加1、减1
set age 23
incr age  只能整型数值
-->24
decr age
-->23
  1. 数值加5、减5
set age 10
incrby age 5    只能整形
-->15
decrby age 5
-->10

incrbyfloat age 1.3   转为字符串
incrbyfloat age -1.2

字符串的使用场景

  1. 作为缓存
  2. 并发计数,点赞、秒杀
  3. 带有效期的验证码,过期自动删除

设置过期时间

#1 10s过期
set name jack ex 10
#2 
set name jack
expire name 10 -->10s
pexpire name 10 -->10ms

#查看过期时间
ttl name
-->返回-2 key不存在
-->返回-1 key存在,但没有过期时间
-->返回具体时间,剩余过期时间

#取消过期
persist name

位图操作

  1. redis可以操作字符串类型的二进制位
set name a
#"a"对应的比特位
-->0110 0001
#获取比特位
getbit name 1  #这里的1为偏移量,若超出,则补最小字节的bit位(0)
-->1
setbit name 1 0
-->0010 0001
get name 
-->"!"
  1. 统计bit中1 的个数
set name a
#统计字符串所有bit位中1的个数
bitcount name
-->3
#统计字符串bit位中第一字节的1的个数
bitcount name 0 0
  1. 使用场景
    使用bit位记录用户的登录状态,统计一年中登录的天数,
    可以有效节约内存
#设置第1天的登录
setbit user:1 0 1
#第2天
setbit user:1 1 0
#第3天
setbit user:1 2 1
...
#统计总共登录了多少天
bitcount user:1

 
 
上一篇:Redis的安装,配置
下一篇:Redis数据类型之列表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

laufing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值