Redis入门基础常用操作命令实例分析

Redis基础

作为一种开源(BSD许可)的内存数据结构存储系统,Redis可用于作为数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(strings),散列(hashes),列表(lists),集合(sets),有序集合(sorted sets)与范围查询,bitmaps,hyperloglogs 和地理空间(geospatial) 索引半径查询。

Redis 内置了复制(replication),LUA脚本(Lua scripting),LRU驱动事件(LRU eviction),事务(transactions)和不同级别的磁盘持久化(persistence),并通过Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

一、redis是单线程

redis是基于内存操作的,cpu并不是redis的性能瓶颈,它的瓶颈取决于机器的内存和网络带宽,所以能用单线程实现那就用单线程好了。

探究Redis:入门基础常用操作命令实例分析

那么为什么用单线程还能这么快?

首先有2个误区先要明确:

  • 高性能的服务器不一定是多线程的。

  • 多线程也不是一定比单线程效率高。

redis是将所有的数据放到内存里去,多线程的话反而会存在cpu切换上下文从而增加耗时,而对内存系统来说,没有上下文的切换,单线程操作效率就是最高的。

二、关于数据库的常用操作1. 默认数据库

redis默认有16个数据库,默认使用是第一个数据库(下标为0)。可以查看下配置文件,里面有database 16。

2. 切换数据库

select 3,可以切换到第4个数据库。

3. 查看数据库大小

dbsize可以查看当前数据库大小。

这时,给数据库里set一个值,再次查看数据库大小,就变化了。

4. 清空数据库

清空当前的数据库

flushdb

清空所有的数据库

flushall 三、关于Redis-Key的常用操作1. set 设置key 和 valueset name pingguo222 2. keys * 查看所有的key

可以查看所有的key。这里切换回默认的数据库,查看所有key。

keys *

3. get key 的 valueget name

4. exists key 是否存在keyexists name

存在,则返回1,不存在则返回0。

5. move 移动 key

MOVE 命令是将当前数据库的 key 移动到给定的数据库 db 当中。

move name 0

例如,假设当前位于3数据库,要执行命令将名为"name"的内容移动到0数据库。如果成功了返回1,失败了返回0。

6. 设置key过期时间

我设置age 10s后过期,等10s后再次get就拿不到值了。

expire age 10

7. 查看key的剩余时间

我设置name过期时间100s,使用ttl查看。

ttl name

8. 查看key的类型type name

命令实际上有很多,redis官网提供了查询命令的地方,后面啥不会就查啥。



Redis是一种内存数据库,适用于处理多场景下的数据存储和处理。它简单易用,提供了丰富的命令操作,可以使开发人员高效地进行数据操作。本文将对Redis的基础常用操作命令进行实例分析,为开发人员提供参考。
一、连接Redis
在使用Redis之前,需要先建立Redis的连接。打开终端输入redis-cli命令,连接Redis数据库,如下图所示:
```
redis-cli
127.0.0.1:6379>
```
其中,redis-cli表示连接Redis客户端,127.0.0.1表示连接本地Redis数据库,6379表示连接Redis的默认端口号。连接成功后,会进入Redis Shell界面,并显示当前连接的Redis服务端口。
二、键值对操作
Redis的最基本操作就是键值对操作。Redis中每个键值对都有一个key和一个value,其中key必须是唯一的。下面是一些基本的键值对获取和设置命令的示例。
1、设置键值对
通过set命令来设置key和value值,如下所示:
```
set name Tom
```
name表示key的名称,Tom则为name的值。这个时候再使用get命令获取name的值:
```
get name
```
可以看到输出结果为Tom。
2、删除键值对
使用del命令可以删除key和其对应的value值:
```
del name
```
执行完毕后,再使用get命令获取name的值,则会返回空。
三、列表操作
Redis提供了列表的操作方法,可以对列表进行添加、删除、查询等操作。下面是一些列表的基本操作命令示例。
1、添加列表元素
使用lpush命令在列表的开头添加元素:
```
lpush fruit apple
```
这个命令会在列表的开头添加一个元素,值为apple。
2、获取列表元素
使用lrange命令可以列出列表从start到end之间的所有元素,如下所示:
```
lrange fruit 0 -1
```
其中,fruit表示列表的名称,0表示从第一个元素开始,-1表示到最后一个元素结束。此时会输出fruit列表中的所有元素。
四、集合操作
集合操作是对不重复元素集进行操作的命令,支持元素的添加、删除和判断元素是否存在等命令。
1、添加元素到集合
可以使用sadd命令将一个元素添加到集合中:
```
sadd students Tom
```
这个命令会将一个值为Tom的元素添加到students的集合中。
2、获取集合元素
使用smembers命令可以获取到集合中的所有元素:
```
smembers students
```
这个命令会输出students集合中所有的元素。
五、哈希操作
Redis的哈希操作可以将多个field和value值存储在一个数据结构中,方便进行数据的存储和处理。下面是一些哈希的基本操作命令示例。
1、添加哈希元素
可以使用hset命令将一个field和value添加到哈希表中:
```
hset person name Tom
```
这个命令会往person的哈希表中添加一个field为name,value为Tom的元素。
2、获取哈希元素
使用hgetall命令可以获取到哈希表中的所有元素:
```
hgetall person
```
这个命令会输出person哈希表中所有的field-value元素。
六、事务操作
Redis依赖于事务来保护多个命令之间的数据库原子性,使得它们作为单个批处理单元执行。下面是一些事务操作命令示例。
1、开启事务
使用multi命令开启Redis事务:
```
multi
```
执行该命令后,会在事务队列中开始一个新的事务操作。
2、提交事务
使用exec命令提交Redis事务:
```
exec
```
这个命令可以将之前在multi命令中入队的所有操作一次性提交处理,确保它们都被成功执行。
七、关闭连接
在Redis使用结束后,需要使用quit命令来关闭Redis数据库的连接:
```
quit
```
这个命令可以将当前连接关闭并退出Redis客户端。
本文介绍了Redis常用的基础操作,并给出了各种操作的详细命令示例。通过这些命令,开发人员可以更高效地使用Redis存储和处理数据。