Redis基本操作



前言

  • Redis定位与特性
  • Redis服务端安装与启动
  • Redis客户端连接
  • Redis基本数据类型与应用场景

一、SQL与NOSQL

1 .SQL特点

  • 行存储,二维
  • 结构化,Schema
  • 表与表之间的关联,Relationship
  • SQL语法
  • ACID(酸)

2. NOSQL特点

  • 非结构化的数据
  • 数据与数据没有关联
  • BASE(碱)最终一致性
  • 海量数据存储、高并发读写
  • 支持分布式:数据分片、扩缩容简单

3. NOSQL存储

  • KV存储
  • 文档存储 MongoDB
  • 列存储 HBase
  • 图存储(Graph) Neo4j
  • 对象存储
  • XML存储

二、Redis数据类型与应用

1. String常见操作

set

单个保存

set a 123

get

单个查询

get a

nx

只有当a不存在的话,才进行保存(也就是只做保存,不做修改,a存在,则保存失败)

set a 123 nx

xx

只有当a存在的话,才进行修改(也就是只做修改,不做保存,a不存在,则修改失败)

set a 123 xx

mset

批量保存

mset aaa 123 bbb 456

mget

批量查询

mget aaa bbb

strlen

获取值的长度

strlen a

append

字符串的拼接

append a 3

getrange

获取字符串某个范围的值(index从0开始,-1 表示结尾)

getrange a 1 1

incr

如果字符串为整数,可通过incr进行自增

incr a

decr

如果字符串为整数,可通过decr进行自减

decr a

incrby

如果字符串为整数,可通过incrby增加指定长度

incrby a 10

decrby

如果字符串为整数,可通过decrby减少指定长度

decrby a 10

incrbyfloat

如果字符串为小数,可通过incrbyfloat进行加减

set a 1.1
incrbyfloat a 2.2
incrbyfloat a -2.2

2. String位操作

在这里插入图片描述

setbit

保存a的值为a

set a a

小写字母a的ASCII为01100001,小写字母b的ASCII为01100010,通过位操作将a修改位b
修改a第七位二进制数为1

setbit a 6 1

修改a第八位二进制数为0

setbit a 7 0

获取a的值为b

get a

getbit

获取位值(获取a第七位的二进制数)

getbit a 6

bitcount

计算字符串中有多少个1/

bitcount a

bitpos

获取第一个二进制位为0或1的位置

bitpos a 1
bitpos a 0

bitop

对key1 … keyn求逻辑与,将结果保存到key中

bitop and key key1 ... keyn

对key1 … keyn求逻辑或,将结果保存到key中

bitop or key key1 ... keyn

对key1 … keyn求逻辑异或,将结果保存到key中

bitop xor key key1 ... keyn

对key1求逻辑非,将结果保存到key中

bitop not key key1

3. String 应用场景

  • 缓存
  • 分布式Session
  • set nx ex 分布式锁
  • incr 全局ID
  • incr 计数器
  • incr 限流
  • 位操作 统计
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值