Redis快速入门到精通
阅读原文时间:2023年07月10日阅读:1

Redis

Redis是一个开源的使用ANSI C语言编写、支持网络、 可基于内存亦可持久化的日志型、Key-Value型 NoSQL数据库,并提供多种语言的API。从2010年3 月15日起,Redis的开发工作由VMware主持。从 2013年5月开始,Redis的开发由Pivotal赞助。

命令

示例

说明

daemonize

deamonize yes

是否启用后台运行,默认”no”

port

port 6379

设置端口号,默认6379

lgfile

logfile日志文件

设置日志文件

databases

databases 255

设置redis数据库总量

dir

dir 数据文件目录

设置数据文件存储目录

requirepass

requirepass 12345

设置使用密码

命令

示例

说明

select

select 0

选择0号数据库

keys

keys *

查询所有

dbsize

dbsize

返回key的总数

exists

exists a

检查key=a是否存在

del

del a

删除key=a的数据

expire

expire hello 20

设置key=hello 20秒后过期

ttl

ttl hello

查看key=a的过期剩余时间

1、String

1.1 字符串类型

key

value

hello

world

counter

3321

bits

1001010

1.2 字符串指令

命令

示例

说明

get

get hello

获得key=hello的value

set

set hello world

设置key=hello,value=hello

mset

mset hello world java best

一次性设置多个kv

mget

mget hello java

一次性获取多个kv

del

del hello

删除key=hello

incr/decr

incr/decr count

key值自增/自减1

incrby/decrby

incrby/decrby count 10

自增/自减 10

2、Hash

2.1 Hash键值结构

  • Hash类型用于存储结构化数据.
  • Hash可以看做是Map中的Map

2.2 Hash 指令

命令

示例

说明

hget

hget user:1:info age

获取hash中key=age的值

hset

hset user:1:info age 23

设置hash中age=23

hmset

hmset user:2:info age 30 name kaka

设置hash中age=30,name=kaka

hmget

hmget user:2:info age name

获取hash中age & name

hgetall

hgetall user:2:info

获取hash所有值

hdel

hdel user:1:info age

删除user:1的age

3、List

  • List列表是简单的字符串列表,按照插入顺序排序。你 可以添加一个元素到列表的头部(左边)或者尾部 (右边)
  • 一个列表最多可以包含 2的32次方 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

3.1 list指令

  • rpush listkey c b a - 右侧插入
  • lpush listkey f e d - 左侧插入
  • rpop listkey - 右侧弹出
  • lpop listkey - 左侧弹出
  • llen listkey - 获取长度
  • lrange listkey 0 2
  • lrange listkey 1 -1 获取子集

4、Set

  • Redis 的 Set 是 String 类型的无序集合。集合成员是 唯一的,这就意味着集合中不能出现重复的数据。
  • Redis 中集合是通过哈希表实现的,所以添加,删除, 查找的速度极快。
  • 集合中最大的成员数为 2的32次方 - 1 (4294967295, 每个集合可存储40多亿个成员)。

4.1 Set指令

命令

示例

说明

sadd

sadd user:1:follow it

添加user:1:follow属性it

srem

screm user:1:follow it

移除user:1:follow属性it

scard

scard user:1:follow

计算集合数量

srandmember

srandmember user:1:follow 3

随机挑选3个元素

spop

spop user:1:follow

随机弹出元素

5、Zset

  • Redis 的 Zset 是 String 类型的有序集合。集合成员是 唯一的,这就意味着集合中不能出现重复的数据

5.1 Zset指令

命令

示例

说明

zadd

zadd player:rank 1000 ronaldo 900 messi

添加集合中的元素

zrank

zrank player:rank ronaldo

获取ronaldo的排名

zrem

zrem player:rank messi

删除messi的数据

zrange

zrange player:rank 0 -1

获得排序索引数据(0 -1是全部数据)

zcount

zcount player:rank 700 900

获得排序数据(score在700-900之间)

zrangebyscore

zrangebyscore player:rank 700 900

获得700-900的排序元素