redis字符串系列之二

21 篇文章 0 订阅

目录

get

getset

strlen

append


get

1.语法
get key
返回与键key相关联的字符串值
2.返回值
如果键不存在,返回nil,否则返回键的值
如果键的值并非字符串类型,那么返回一个错误,因为get命令只能用于字符串。
3.代码示例:
对不存在的键或者字符串类型的键执行get:

get m
set m "hello"
get m

对不是字符串类型的键执行get:
 

lpush m redis mysql mongodb
get m

getset

1.语法
getset key value
没有键插入,返回nil,有的话更新键值 返回旧值,如果键不是字符串类型时 返回一个错误
2.例子:
 

getset m golang
get m
getset m redis
get m

strlen

1.语法
strlen key
返回键key存储字符串的长度。
2.返回值:
当键key不存在时,返回0
不是字符串时,返回一个错误
3.例子:

set m "hello"
strlen m

不存在的键的长度为0

strlen m

append

1.语法
append key value
如果键key存在,并且值是一个字符串,append会把value值追加到键key现有的值的末尾
如果键key不存在,就会将键key的值设为value.
2.返回值:
追加value之后,键key的值的长度。
3.例子
对不存在的key执行append:

exists m
append m "hello"

对已存在的字符串执行append:

append m " world"
get m

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis允许我们使用自定义的序列化方式来存储数据到Redis中,这样可以更灵活地处理不同类型的数据,提高Redis的存储效率和性能。 Redis支持多种序列化方式,包括二进制、JSON、MessagePack等。我们可以在Redis配置文件中指定使用哪种序列化方式,也可以在代码中自定义序列化方式。 以下是一个使用自定义序列化方式的示例: ```python import pickle import redis class MySerializer: @staticmethod def dumps(value): return pickle.dumps(value) @staticmethod def loads(value): return pickle.loads(value) r = redis.StrictRedis(host='localhost', port=6379, db=0, decode_responses=True) r.set('key', 'value', serializer=MySerializer) result = r.get('key', serializer=MySerializer) print(result) # 输出: value ``` 在上面的代码中,我们定义了一个自定义的序列化类`MySerializer`,其中`dumps`方法将Python对象序列化为二进制字符串,`loads`方法将二进制字符串反序列化为Python对象。然后我们使用`redis.StrictRedis`类连接Redis数据库,并在设置和获取数据时指定使用自定义的序列化方式。 需要注意的是,在使用自定义序列化方式时,所有的Redis操作都必须指定使用相同的序列化方式,否则会出现数据无法正确被解析的问题。因此,建议在代码中使用`redis.Redis`或`redis.StrictRedis`类的`set_serializer`方法和`get_serializer`方法来设置和获取默认的序列化方式,以避免出现这种问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值