Redis数据库相关

Redis 中常见的数据类型

  • 字符串 String
  • 哈希 hash , 相当于 python 中的字典
  • 列表 List
  • 集合 Set
  • 有序集合 ZSet

字符串中常见的命令

  • set key value : 将数据永久型存储到数据库

  • get key :

  • getrange key start end : 从start开始截取,到 end结束,且包含 end

  • strlen key : 获取某个键对应的值的长度

  • incr key : 将 key 对应的值 + 1 ,值必须是一个数字

  • incrby key increment : 将 key 对应的值 增加 increment

  • decr key : 将 key 对应的值 - 1 ,值必须是一个数字

  • decrby key increment : 将 key 对应的值 减少 increment

  • getset key value : 覆盖key的值,并返回 key的旧值

  • mset key value key1 value1 … 批量设置多个键和值

  • mget key key1… : 获取多个 key的值

  • setex key seconds value : 存储数据、设置过期时间,单位是秒

  • setnx key value : key不存在的时候,才设置 value ,否则不生效

  • set key value [ex secends] [px millsecends] [nx|xx]

    • ex : 代表设置过期时间,单位 秒
    • px : 代表设置过期时间,单位 毫秒
    • nx : 代表 键不存在的时候,设置 值
    • xx : 代表 键存在,修改数据

哈希 hash 常见的命令

  • hset key field value 存储数据

  • haset a 3(将a的值设为3)

  • hsetnx key field value : 当field键不存在、才向字典中存储 value

  • hget key field 获取字典中对应的 键的值

  • hmset key field value [field value …] 批量存储数据

  • hmget key field [field …] 获取字典中对应的键的值

  • hgetall key 获取所有的键和值

  • hkeys key 获取所有的键

  • hvals key 获取所有的值

  • hexists key field 判断字典中是否存在某一个键

  • hincrby key field increment : 对字典中某一属性对应的值 + increment

  • hlen key: 获取字典的大小

  • hdel key field : 删除字典中某一个键

列表的常见命令 List

  • lpush key val [val …] left push 从列表的头部进行数据的添加

  • rpush key val [val …] right push 向列表的尾部进行数据的添加

  • rpush list1 1 2 3 (向list1中依次插入1,2,3)

  • lindex key index : 通过 index 索引查找对应位置的数据, index 从0开始

  • llen key : 获取列表长度

  • lpop key : 移除列表中第一个元素

  • rpop key : 移除列表中最后一个元素

  • lrem key count value
    count > 0 : 从 列表的头部删除 count个 value

    count < 0 : 从列表的尾部删除 count 个 value

    count = 0 : 将 列表中的所有 value 移除

  • lrange key start end 获取列表 start -end 之间的数据,包含 start - end

  • lset key index value : 修改 指定 Index 位置上的数据为 value

集合 Set 常见的命令

  • sadd key member1 [member2…] 新增成员

  • srem key member1 [member2] 删除成员

  • scard key 获取成员数量

  • smembers key 获取所有成员

  • spop key 随机从集合中删除一个元素

  • srandmember key [count] : 从集合中随机获取 count 个元素,不指定的话,默认是 1

  • sismember key member : 判断成员是否是 集合中的 成员

有序集合 ZSet常见的命令

  • zadd key score member [score member …] 新增成员

  • zrem key member [member …] 删除成员

  • zcard key 获取成员数量

  • zrange key start end

  • zrevrange key start end

  • zincrby key increment member : 给某个成员添加 分数 increment

  • zrevrank key member : 查询某个成员的排名

  • zscore key memeber : 查询某个成员的成绩

  • zrangebyscore key min max : 查询分数 在 min-max 之间的成员

  • zcount key min max : 查询分数 在 min-max 之间的成员数

  • zrangebylex key min max : 主要针对分数相同的成员

  • zlexcount key min max : 查询成员 在 min-max 之间的 成员数量
    min : 可以使用 - ,代表最小值, 也可以使用 一个 [字符串, 代表 包含匹配的成员例如 [s 可以匹配 s, sh …
    max : 可以使用 + 代表最大值, 也可以是用 [字符串
    例如 [t 可以匹配 t , 但不可以匹配 ta
    [ 代表 包含
    ( 代表 不包含

redis中 和 键 的操作相关的命令

  • keys * : 获取redis 数据库中所有的键

  • exists key : 判断redis 是否存在某个键

  • del key : 删除某个键

  • type key : 获取某个键对应的数据类型

  • expire key seconds 给某个键设置过期时间, 单位是秒

  • pexpire key millseconds : 给某个键设置过期时间, 单位是毫秒

  • ttl key : 查询某个 键剩余的存活时间
    返回 正数、代表 剩余的存活时间,单位秒
    返回 -2, 代表 键已失效,或者键不存在
    返回 -1, 代表 该键是永久性的

  • pttl key 查询某个 键剩余的存活时间, 单位是毫秒

  • persist key : 移除失效时间,将其变为 持久性key

  • randomkey : 随机返回某个键

redis 数据库常见的操作

  • select number
    0 - databases -1

redis 设置密码

# 在配置文件中、设置密码
requirepass 密码

# 查看密码
config get requirepass 

# 设置密码
config set requirepass 密码

# 授权
auth 密码

Redis 的主从复制 / 哨兵模式 (Redis缓存带来的问题)

redis缓存穿透
redis缓存雪崩
redis缓存击穿

0点:下单

		slave(读)

master(写) X

		slave(读) ->  master ( 进行  心跳机制)


		slave(读) 

脑裂:

python 和 redis 的集成

  • 引入 redis 库
pip install redis
  • 新建一个 .py 文件,并导入 redis
import redis
  • 创建一个 redis 连接对象
	# 方式一
	client = redis.Redis(host='192.168.10.9', port=6379, db=0, password='123456', decode_responses=True)
	
	# 方式二
	client = redis.StrictRedis.from_url('redis://:123456@192.168.10.9:6379/0', decode_responses=True)
	
  • 操作redis 数据库
	client.keys('*')
  • 关闭数据库连接
   client.close() 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值