redis和mysql数据做混合分页查询_十行代码将Redis缓存数据进行分页提取与展示

本文演示了如何使用 Redis 进行数据存储,包括字符串、哈希、列表、集合和有序集合的操作,以及利用 Redis 实现缓存管理和计数功能。还涉及到键的过期时间和自增操作,展示了 Redis 在实际应用中的常见用法。
摘要由CSDN通过智能技术生成

import redis,time

#redis连接

pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)

r = redis.Redis(connection_pool=pool)

# String 字符串

# data=find_data()[::-1]

# for i in range(len(data)):

# r.set("dict:chushou:%s"%str(i), str(data[i])) # key是"food" value是"mutton" 将键值对存入redis缓存

# print(str(i)+"ok")

# import ast

# 将字符串转为字典

# 将数据长度放入缓存

# r.set("dict:length",len(data))

# print(r.get("dict:length"))

# for i in range(int(r.get("dict:length"))):

# a=r.get("dict:chushou:%s"%str(i))

# a=ast.literal_eval(a)

# print(a['fruitname'])

# break

# r.set("visit:12306:totals", 1)

# print(r.get("visit:12306:totals"))

# for i in range(0,10):

# # 自增

# r.incr("visit:12306:totals")

# print(r.get("visit:12306:totals"))

# time.sleep(2)

# print(r.get('food'))

# '''

# 参数:

# set(name, value, ex=None, px=None, nx=False, xx=False)

# ex,过期时间(秒)

# px,过期时间(毫秒)

# nx,如果设置为True,则只有name不存在时,当前set操作才执行,同setnx(name, value)

# xx,如果设置为True,则只有name存在时,当前set操作才执行

# '''

#hash 哈希

# r.hset("hash1", "k1", "v1")

# r.hset("hash1", "k2", "v2")

# print(r.hkeys("hash1")) # 取hash中所有的key

# print(r.hget("hash1", "k1")) # 单个取hash的key对应的值

# print(r.hmget("hash1", "k1", "k2")) # 多个取hash的key对应的值

# r.hsetnx("hash1", "k2", "v3") # 只能新建

# print(r.hget("hash1", "k2"))

# list 列表

# def fenye(start,end):

# print(r.lrange('list:chushou',start,end))

# # data=find_data()[::-1]

# # for i in range(len(data)):

# # r.lpush("list:chushou",str(data[i]))

# # r.expire("list:chushou", 2);#设置过期时间为2秒

# # fenye(0,3)

# # time.sleep(3)

# # fenye(0,3)

# print(r.llen("list:chushou")) # 列表长度

# fenye(0,1)

# fenye(6,11)

# r.rpush("list2", 11, 22, 33) # 表示从右向左操作

# print(r.llen("list2")) # 列表长度

# print(r.lrange("list2", 0, -1)) # 切片取出值,范围是索引号0-3

# Blpop 命令移出并获取列表的第一个元素 左移除 右移除 brpop

# print(r.blpop("list2"))

# set 集合

# r.sadd("set1", 33, 44, 55, 66) # 往集合中添加元素

# print(r.scard("set1")) # 集合的长度是4

# print(list(r.smembers("set1"))) # 获取集合中所有的成员

#sortset

# Set操作,Set集合就是不允许重复的列表,本身是无序的。

# 有序集合,在集合的基础上,为每元素排序;元素的排序需要根据另外一个值来进行比较,

# 所以,对于有序集合,每一个元素有两个值,即:值和分数,分数专门用来做排序。

# r.zadd("zset1", n1=11, n2=22)

# r.zadd("zset2", 'm1', 22, 'm2', 44)

# print(r.zcard("zset1")) # 集合长度

# print(r.zcard("zset2")) # 集合长度

# print(r.zrange("zset1", 0, -1)) # 获取有序集合中所有元素

# print(r.zrange("zset2", 0, -1, withscores=True)) # 获取有序集合中所有元素和分数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值