[Redis] String类型

> GETRANGE key 0 1
> set key2 abcdefg
> get key2 
> SETRANGE key2 1 xx # 替换指定位置开始的字符串
> get key2

# setex (set with expire)	# 设置过期时间
# setnx (set if not exist)  # 不存在则设置(在分布式锁中会常常使用!)
> setex key3 30 "hello"
> ttl key3 # 查看距离过期的剩余时间
> setnx mykey "redis" # 如果mykey不存在,创建mykey
> setnx mykey "MongoDB" # 输出仍是redis

###############
> mset k1 v1 k2 v2 k3 v3 # 同时设置多个值
> keys *
> mget k1 k2 k3 # 同时获取多个值
> msetnx k1 v1 k4 v4 # msetnx是一个原子性的操作,要么一起成功,要么一起失败!这个例子里会输出0
> get k4 # (nil)

# 对象
> set user:1 {name:zhangsan,age:3} # 设置一个user:1对象 值为json字符来保存一个对象!
# 这里的key是一个巧妙的设计:user:{id}:{filed}
> mset user:1:name zhangsan user:1:age 2
> mget user:1:name user:1:age

###############
> getset db redis # 如果不存在值,则返回 nil
> get db # "redis"
> getset db mongodb # 如果存在值,获取原来的值,并设置新的值
> get db # "mongodb"

数据结构是相同的!
String类型的使用场景:value除了是我们的字符串还可以是我们的数字!

  • 计数器
  • 统计多单位的数量
  • 粉丝数
  • 对象缓存存储!
上一篇:mysql_install_db 一次修复密码


下一篇:【shikaobang】 python爬虫脚本