redis快速上手

Redis是一个开源的使用ANSI C语言编写的、可基于内存亦可持久化的日志型、Key-Value数据库

五种数据结构

redis有5种数据结构:

每一种都是以string作为key,value可以是以上5种。

string->string

1. 增加

set k1 v1

2. 获取

get k1

3. 修改

重新设置即可

set  k1  vv1

4. 批量设置和批量获取

mset k1 v1 k2 v2

mget k1 k2

string->map

map可能有多个列,也就是说map中可以有很多键值对。

1. 设置

hset h1 name rogn

2. 获取

hget h1 name

3. 修改

也是重新设置

hset h1 name growvv

4. 同时设置多个列

hmset h1 name rogn age 20

5. 获取quanbu

hget h1 age

hgetall h1

6. 删除

部分删除:hdel h1 age

全部删除::hdel h1

string->list

因为是列表,没有set和get一说,只有push和pop方法

1. 插入

lpush L1 v1

批量插入:lpush L1 v2 v3 v4

2. 查询

可以指定范围:lrange L1 0 3

可以使用"-1"索引:lrange L1 0 -1

3. 弹出

lpop L1

rpop L1

string->set

就是数学意义上的集合,即不会有重复元素。

1. 增加

sadd S1 v1

添加相同的元素,忽略

2. 查看

smember S1

string->zset

zset和set一样也是string类型的集合,但是必须为其关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

1. 增加

zadd zs 1  redis

2. 查询

zrange zs 0 -1

订阅和发布功能

订阅:

subscribe foo

没有消息时处于阻塞状态,可以按通配符订阅。

发布:

publish foo hello

这样所有订阅foo主题的客户端都能收到hello消息

其他

快的原因:

1. 完全在内存中操作

2. IO多路复用

3 ......

此外,java,nodejs等几乎所有的语言都有操作redis的库。

可以去试试图形化管理工具-Redis Desktop Manage,还是在线Redis数据库Redislabs.

 

参考链接:

1. https://www.bilibili.com/video/BV1hJ411K72h

2. https://www.runoob.com/redis/redis-tutorial.html

posted @ 2020-04-11 16:33  Rogn  阅读(134)  评论(0编辑  收藏