• https://www.cnblogs.com/szhangli/p/9979600.html

Redis

string类型

  • 字符串类型是 Redis 中最为基础的数据存储类型。
  • 它在 Redis 中是二进制安全的,这便意味着该类型可以接受任何格式的数据。
  • 如JPEG图像数据或Json对象描述信息等。
  • 在Redis中字符串类型的Value最多可以容纳的数据长度是512M。

set:

#设置键值:
set key value #设置键为name值为xiaoming的数据
set name xiaoming

setex:

#设置键值及过期时间,以秒为单位
setex key seconds value #设置键为aa值为aa过期时间为3秒的数据
setex aa 3 aa

mset:

#设置多个键值
mset key1 value1 key2 value2 ... #设置键为a1值为python、键为a2值为java、键为a3值为c
mset a1 python a2 java a3 c++

append:

#追加值
append key value #向键为a1中追加值abc
append a1 abc

get:

#获取:根据键获取值,如果不存在此键则返回nil
get key #获取键name的值
get name

mget:

#获取多个键获取多个值
mget key1 key2 ... #获取键a1、a2、a3的值
mget a1 a2 a3

键命令

key:

#查找键,参数支持正则表达式
keys pattern #查看所有键
keys * #查看名称中包含a的键
keys a*

exists

#判断键是否存在,如果存在返回1,不存在返回0
exists key1 #判断键a1是否存在
exists a1

type:

#查看键对应的value的类型
type key #查看键a1的值类型为redis⽀持的五种类型中的⼀种
type a1

delete:

#删除键及对应的值
del key1 key2... #删除键a1、a2
del a2 a3

expire:

#设置过期时间,以秒为单位
#如果没有指定过期时间则⼀直存在,直到使⽤DEL移除
expire key seconds #设置键a1的过期时间为3秒
expire a1 3

ttl:

#查看有效时间,以秒为单位
ttl key #查看键a1的有效时间
ttl a1

hash类型

  • ash⽤于存储对象,对象的结构为属性、值
  • 值的类型为string

hset:

#设置单个属性
hset key field value #设置键 user的属性name为xiaoming
hset user name xiaoming

hmset:

#设置多个属性
hmset key field1 value1 field2 value2 ... #设置键u2的属性name为itcast、属性age为11
hmset u2 name itcast age 11

hkeys:

#获取指定的键的所有的属性
hkeys key #获取键a1的所有属性
hkeys a1

hget:

#获取多个属性的值
hmget key field1 field2 ... #获取键u2属性name的值
hget u2 name

hmget:

#获取多个属性的值
hmget key field1 field2 ... #获取键u2属性name、age的值
hmget u2 name age

hvals:

#获取所有属性的值
hvals key #获取键u2所有属性的值
hvals u2

hdel

#删除整个hash键及值,使用del命令
#删除属性,属性对应的值会被一起删除
hdel key field1 field2 ... #删除键u2的属性age
hdel u2 age

list类型

  • 列表的元素类型为string
  • 按照插入顺序排序

lpush

#在左侧插入数据
lpush key value1 value2 ... #从键为a1的列表左侧加⼊数据a 、 b 、c
lpush a1 a b c

rpush

#在右侧插入数据
rpush key value1 value2 ... #从键为a1的列表右侧加⼊数据0、1
rpush a1 0 1

linsert

#在指定元素的前或后插入新元素
linsert key before或after 现有元素 新元素 #在键为a1的列表中元素b前加⼊3
linsert a1 before b 3

lrange

#start、stop为元素的下标索引
#索引从左侧开始,第⼀个元素为0
#索引可以是负数,表示从尾部开始计数,如-1表示最后⼀个元素 #返回列表里指定范围内的元素
lrange key start stop #获取键为a1的列表所有元素
lrange a1 0 -1

lset

#设置指定索引位置的元素值
lset key index value #修改键为a1的列表中下标为1的元素值为z
lset a 1 z

lrem

#列表中前count次出现的值为value的元素移除
#count > 0: 从头往尾移除
#count < 0: 从尾往头移除
#count = 0: 移除所有 #删除指定元素
lrem key count value #向列表a2中加⼊元素a、b、a、b、a、b
lpush a2 a b a b a b #从a2列表右侧开始删除2个b
lrem a2 -2 b

ltrim

#截取保留的元素
ltrim key start stop # 只保留前三个元素(0-2)
ltrim name 0 2

set类型

sadd:

#添加元素
sadd key member1 member2 ... #向键a3的集合中添加元素zhangsan、lisi、wangwu
sadd a3 zhangsan sili wangwu

smembers

#返回所有的元素
smembers key #获取键a3的集合中所有元素
smembers a3

srem

#删除指定元素
srem key #删除键a3的集合中元素wangwu
srem a3 wangwu

zset类型:

  • sorted set,有序集合
  • 元素为string类型
  • 元素具有唯一性,不重复
  • 每一个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序
  • 注:zset类型没有修改操作

zadd

#添加
zadd key score1 member1 score2 member2 ... #向键a4的集合中添加元素lisi、wangwu、zhaoliu、zhangsan,权重分别为4、5、6、3 zadd a4 4 lisi 5 wangwu 6 zhaoliu 3 zhangsan

zrange

#返回指定范围内的元素(-1表示最后一个元素)
#start、stop为元素的下标索引
#索引从左侧开始,第一个元素为0
#索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素
zrange key start stop #获取键a4的集合中所有元素
zrange a4 0 -1

zrangebyscore

#返回score值在min和max之间的成员
zrangebyscore key min max #获取键a4的集合中权限值在5和6之间的成员
zrangebyscore a4 5 6

zscore

#返回成员member的score值
zscore key member #获取键a4的集合中元素zhangsan的权重
zscore a4 zhangsan

zrem

#删除指定元素
zrem key member1 member2 ... #删除集合a4中元素zhangsan
zrem a4 zhangsan

zremrangebyscore

#删除集合a4中元素zhangsan
zrem a4 zhangsan #删除权重在指定范围的元素
zremrangebyscore key min max #删除集合a4中权限在5、6之间的元素
zremrangebyscore a4 5 6

StrictRedis对象⽅法

引⼊模块

#引入模块
#这个模块中提供了StrictRedis对象,⽤于连接redis服务器,并按照不同类型提供 了不同⽅法,进⾏交互操作 from redis import StrictRedis

通过init创建对象,指定参数host、port与指定的服务器和端⼝连接,host默认为localhost,port默认为6379,db默认为0

sr = StrictRedis(host='localhost',port=6379,db=0)

简写:

sr = StrictRedis()

string-增加

try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis() #添加键name,值为itheima
result=sr.set('name','xiaoming') #输出响应结果,如果添加成功则返回True,否则返回False
print(result) except Exception as e:
print(e)

string-获取

try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis() #获取键name的值
result = sr.get('name') #输出键的值,如果键不存在则返回None
print(result) except Exception as e:
print(e)

string-修改

try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis() #设置键name的值,如果键已经存在则进⾏修改,如果键不存在则进⾏添加
result = sr.set('name','xiaoming') #输出响应结果,如果操作成功则返回True,否则返回False
print(result) except Exception as e:
print(e)

string-删除

try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis() #设置键name的值,如果键已经存在则进⾏修改,如果键不存在则进⾏添加
result = sr.delete('name') #输出响应结果,如果删除成功则返回受影响的键数,否则则返回0
print(result) except Exception as e:
print(e)

获取键

 try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis() #获取所有的键
result=sr.keys() #输出响应结果,所有的键构成⼀个列表,如果没有键则返回空列表
print(result) except Exception as e:
print(e)

[转帖]redis操作 + StrictRedis使用的更多相关文章

  1. python 学习笔记 redis操作

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

  2. pyhon之对memcached及redis操作

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...

  3. python redis操作数据库方法

    Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...

  4. Redis学习---Redis操作之Python连接

    PyCharm下的Redis连接 连接方式: 1. 操作模式 redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使 ...

  5. Python 使用 Redis 操作

    1.redis简介 redis是一款开源免费的高性能key-value数据库,redis特点: 支持更多的数据类型:字符串(String).列表(List).哈希(Map).数字(Int).集合(Se ...

  6. 使用redis-py的两个类Redis和StrictRedis时遇到的坑

    使用redis-py的两个类Redis和StrictRedis时遇到的坑 前言: 今天产品经理说,有几个队列排序的功能不能用了.对比了下以前的代码查到了一个原因,这个比较的坑,总结起来也是自己没好好看 ...

  7. 缓存系统redis操作、mongdb、memeche

    mongdb :默认数据持久化,存在内存的同时也向硬盘写数据. redis:可配置数据持久化,默认数据在内存中 memeche:only support 内存模式 redis操作 https://ww ...

  8. Atitit.redis操作总结

    Atitit.redis操作总结 1.1. 获取redis所有kv1 1.2. dbsize:返回当前数据库中key的数目 1 1.3. 一起吧所有key列出来1 1.4. Java连接redis   ...

  9. 基于 php-redis 的redis操作

    基于 php-redis 的redis操作 林涛 发表于:2016-5-13 12:12 分类:PHP 标签:php,php-redis,redis 203次 redis的操作很多的,下面的例子都是基 ...

  10. redis操作

    测试环境redis操作 cd /export/servers/redis-2.8.9/src/./redis-cli -n 0 keys keys(pattern):返回满足给定pattern的所有k ...

随机推荐

  1. Flutter Getx 状态管理 --- (依赖管理) GetxController

    Flutter Getx 简单的状态管理(依赖管理) GetxController Getx 依赖管理简介 Get有一个简单而强大的依赖管理器,它允许你只用1行代码就能检索到与你的Bloc或Contr ...

  2. 【华为云技术分享】DLI跨源|当DLI遇见MongoDB

    导语: MongoDB作为灵活高效易扩展的no-schema数据库,越来越受到互联网公司.游戏行业等开发者的青睐,但是MongoDB有着独特的语言接口,并不能很好满足数据分析师构建数据治理应用的需求, ...

  3. 共赴元宇宙新纪元,华为云VR开发应用大赛总决赛倒计时7天!

    摘要:"第三届华为云VR开发应用暨沈阳元宇宙开发应用大赛"总决赛即将于2月13日在沈阳市和平区揭幕. 由沈阳市和平区人民政府.华为技术有限公司共同主办的"第三届华为云VR ...

  4. 3层结构+7大特点,带你认识华为云IoTEdge

    摘要:华为云IoTEdge三层架构联合打造的IoT边缘平台功能,持续为更多企业和开发者带来价值. 本文分享自华为云社区<[华为云IoTEdge学习笔记]华为云IoT边缘功能特点及价值>,作 ...

  5. 云小课 | 一个三分钟快速定制OCR应用的神器,要不?

    摘要:ModelArts Pro提供了文字识别套件,基于丰富的文字识别算法和行业知识积累,帮助客户快速构建满足不同业务场景需求的文字识别服务.三分钟即可快速定制OCR服务,实现多种版式图像的文字信息结 ...

  6. 每条你收藏的资讯背后,都离不开TA

    摘要:云原生数据库GaussDB(for Redis)不仅提升了阅客的服务效率,让个性化推荐更快更稳,还降低了存储和改造成本,为企业未来发展奠定了云化基础,助力阅客实现更高质量的资讯触达. 随着互联网 ...

  7. 云图说:云数据库 RDS for MySQL一键开通读写分离,轻松应对业务高峰期

    摘要:华为云数据库 RDS for MySQL提供一键开通读写分离功能,只需要一个连接地址,让您在业务高峰期不再迷茫,不再慌乱,so easy 的应对业务. 本文分享自华为云社区<云图说 | 第 ...

  8. 火山引擎 DataTester:A/B 测试,让企业摆脱广告投放“乱烧钱”

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 在广告投放的场景下,一线广告优化师通常会创建多个计划,去测试不同的广告素材效果.这套方法看似科学,实际上却存在诸多 ...

  9. 文件名: ?Ciwindows\system32 inetsrconfiglapplicationHost.config 错误:无法写入配置文件

    出现原因:出现这个问题,一般是在程序运行的时候更新程序,导致的. 解决方案: Microsoft Windows [版本 6.3.9600] (c) 2013 Microsoft Corporatio ...

  10. AtCoder Beginner Contest 215 (个人题解 A~F)

    比赛链接:Here AB水题, C - One More aab aba baa 题意: 给出字符串 \(s\) 和整数 \(k\) ,请输出字典序第 \(k\) 大的原字符串 \(s\) 的排序 思 ...