Redis基础

一、Redis操作

1.1 redis

下载redis:https://github.com/tporadowski/redis/releases
启动redeis:redis-server.exe redis.windows.conf
启动redis客户端:redis-cli
Redis默认端口6379
redis特性:

  • 速度快
  • 持久化
  • 多种数据结构
  • 支持多种编程语言
  • 主从复制
  • 高可用、分布式
    Redis提供的数据类型主要分为5种自有类型和一种自定义类型,这5种自有类型包括:String类型、哈希类型、列表类型、集合类型和顺序集合类型。
    redis={
    “name”:“yuan”,
    “age”:“23”,
    “scors”:[78,79,98,],
    “info”:{“gender”:“male”,“tel”:“110”},
    “set”:{1,2,3},
    “zset”:{1,2,3,}
    }
    Redis 的应用场景包括:
    缓存系统(“热点”数据:高频读、低频写):缓存用户信息,优惠券过期时间,验证码过期时间、session、token等

计数器:帖子的浏览数,视频播放次数,评论次数、点赞次数等

消息队列,秒杀系统

社交网络:粉丝、共同好友(可能认识的人),兴趣爱好(推荐商品)

排行榜(有序集合)

发布订阅:粉丝关注、消息通知

Setnx(分布式锁)不允许重复赋值
Setex设置有效期 setex key time value 查看剩余时间 ttl key
mset key1 value1 key2 value2 …
字符串拼接:set title “我的” append title “redis” append title “学习之路”
set id 1 incr id(自增) # 相当于id+1
decr goods_id_1 # 相当于 id-1

1.2 键操作

Keys * 查看所有key
del key删除键
exists key判断键是否存在
expire key 10(10秒过期)
在这里插入图片描述

1.3 Redis 操作列表:

lpush rpush llen names(获取列表长度)
创建列表:Rpush names zhangsan lisi wangwu
增:linsert names after “zhangsan” lihua
改:lset key index value(按索引修改列表值)
删:lpop key删除第一个 或者rpop key删除最后一个。lrem names 0 zhangsan(0全部删除,2删除前两个,-2删除后两个)
查: lrange names 0 -1 lrange(切片)

1.4 Redis 操作hash:

创建&修改hash: hset info name tom age 22
查:hget info name ,hgetall info(获取所有),hmget info name age(获取多个), hkeys info hvals info
删除:hdel info age hdel info
自增:hincrby info age 1

1.5 Redis 操作集合(无序):

增:sadd authors zhangsan lisi wangwu
查: smembers authors
删:spop authors(随机删) srem authors zhangsan
sinter交集 sdiff差集 sunion并集

1.6 Redis 操作有序集合:

增:zadd scores 61 xiaoming 62 xiaobai 78 xiaohei 87 xiaohui 99 xiaolan
查:zrangebyscore scores 70 100 zrevrangebyscore scores 100 70
Zrange scores 0 -1(递增) zrange scores -2 -1(递增) zrevrange scores 0 1(递减)
改:zincrby scores 10 xiaohui(加10)
删:zrem scores xiaohui zpopmin scores 2(删除前两个,从最低分开始删) zpopmax scores 2
获取长度:zcard scores 获取指定区间人数:zcount scores 70 100
获取指定成员的权重值Zscore scores xiaohui
获取指定成员在集合中的排名 zrank socres xiaohui zrevrank socres xiaohui(从大到小)

二 Python操作redis

2.1 Python实现对redis的连接

import redis
#方式一 直接创建链接
r=redis.Redis(host=‘127.0.0.1’,port=6379)
r.set(‘for’,‘bar’)
#方式二 使用连接池
pool = redis.ConnectionPool(host=‘127.0.0.1’, port=6379)
r = redis.Redis(connection_pool=pool)
r.set(‘bar’,‘foo’)
print(r.get(‘bar’))

2.2 Python实现对redis的数据类型操作

import redis
pool=redis.ConnectionPool(host='127.0.0.1',port='6379')
r=redis.Redis(connection_pool=pool)
# (1)字符串操作:不允许对已经存在的键设置值
ret = r.setnx("name", "yuan")
print(ret)  # 已存在返回False
# (2)字符串操作:设置键有效期
r.setex("good_1001", 10, "2") #10秒有效期
# (3)字符串操作:自增自减
r.set("age", 20)
r.incrby("age", 2)
print(r.get("age"))  # b'22'
# (4)hash操作:设置hash
r.hset("info", "name", 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值