redis最佳实践

一、基本操作

  1. 基本命令
# 查看数据库信息
info
# 选择数据库
select 0
# 查看所有的键
keys *
# 查看test关键字的键
keys *test*
# 查看key的ttl
ttl key

二、数据类型操作

  1. string
  • 基本命令
# 添加
set key value
# 批量添加
mset key1 value1 key2 value2
# 查看
get key
# 批量查看
mget key1 key2
# 存在就不添加,否则添加
setnx key value
# 设置过期时间
setex key seconds value
# 以毫秒为单位设置过期时间
psetex key milliseconds value
# 自增的前提都要是整型或者浮点型.并且整型不能自增浮点数,浮点型不能自增整数
# 自增1
incr key
# 自定义步长自增
incrby key 2
# 浮点数自增
incrbyfloat key 0.5
# 字符串追加
append key value
# 删除
del key
  1. hash
  • 基本命令
# 添加
hset hashkey field1 value1 field2 value2
# 查看hashkey对应的field
hget hashkey field
# 查看hashkey所有的field
hgetall hashkey
# 删除一个或多个
hdel hashkey field1 field2
# hash中属性整数自增
hincrby hashkey field increment
# hash中属性浮点数自增
hincrbyfloat hashkey field increment
  1. list
  • 基本命令
# 左边插入
lpush list value1 value2 value3
# 右边插入
rpush list value1 value2 value3
# 左边弹出count个
lpop list count
# 右边弹出count个
rpop list count
# 查看list个数
llen list
# 查看起始位置的list元素
lrange list begin end
  1. set
# 添加
sadd set value1 value2 value3
# 随机移除一个元素
spop set
# 移除指定元素
srem set value1
# 查看所有成员
smembers set
  1. zset
  • zset通过分配权重指定顺序
# 添加
zadd zset score1 value1 score2 value2 score3 value3
# 移除
zrem key value
# 返回有序集中指定区间内的成员,通过索引,分数从高到低
ZREVRANGE key start stop [WITHSCORES]

二、事务

redis是单线程模式,但是不代表客户端只能与服务端建立一个连接,可以建立多个socket连接.将命令提交给redis后,redis会将命令放到队列中,单线程依次执行.

  1. 性质
  • redis是单线程,不具有隔离级别
  • 事务多条语句缓存在server端
  • 过程为事务开始、命令入队、事务执行
  1. 使用流程
    在这里插入图片描述

三、pipeline

如果有多条语句需要在redis执行,那么将会不断建立连接,会消耗网络连接的时间
就算使用连接池改善,因为redis是单线程执行的,就算省掉了建立连接的过程,redis在单线程中也只能执行一条命令,无法解决根本问题.

  1. 性质
  • pipeline中的指令缓存在client端,本次pipeline执行的结果全部缓存在server端,一并返回
  • pipeline的参数个数默认为53个,到达53个后会提交本次pipeline
  • pipeline缓冲的指令只是会依次执行,但是不能保证原子性,如果执行中间某一个指令发生异常,将会继续执行后续的指令
  • pipeline只能操作一个redis实例,集群多个写实例不能对pipeline中的指令进行分配
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值