【学习笔记】Redis(0)-入门

Redis 一个基于键值对的缓存与存储系统,通过提供多种键值数据类型来适应不同场景下的缓存与存储需求。同时 Redis 还可以胜任消息队列、任务队列等不同的角色。接下来,我们就从 Redis 的安装开始,一步步学习 Redis。

1. 安装和启动

Redis下载地址:http://redis.cn/download.html

Redis 的安装非常简单,下载完成后解压即可。成功解压后,我们可以在 Redis 的目录里看到解压后的文件,其中最常使用的两个程序是 redis-server 和 redis-cli。redis-server是 Redis 的服务器,要想使用 Redis 就需要先运行 redis-server;而 redis-cli 是 Redis 命令行客户端,是学习 Redis 的重要工具。

启动 Redis 十分简单,直接运行 redis-server即可,运行之后出现如下图所示的界面,就表示启动成功。


另外,也可以在 Redis 解压目录下,使用命令行来启动 Redis,同时还能指定端口号,命令如下:

redis-server --port 6380
当然,启动完成后要怎么停止呢?直接强制终止 Redis 进程会有不妥,如果 Redis 正在进行数据同步的话,可能会导致数据丢失,所以停止 Redis 的正确姿势是向 Redis 发送 SHUTDOWN 命令,如下:
redis-cli SHUTDOWN
现在已经学会了启动 Redis,那么接下来就需要学习怎么使用 Redis 了。在 Redis 的解压目录里有自带的基于命令行的 Redis 客户端 —— redis-cli,它是我们学习和测试 Redis 的重要工具。我们可以直接运行它,它会帮我们启动一个默认实例(127.0.0.1:6379)。另外,我们也可以在命令行中,通过命令指定地址和端口来启动,如下:
redis-cli -h 127.0.0.1 -p 6380

2. 热身

2.1 字符串类型

Redis 中最长用的数据对象就是字符串类型了,我们可以通过 SET 命令来给一个键进行赋值,通过 GET 命令来获取一个键的值,如下:

当然,在为某个键赋值的时候,并不需要先定义声明这个键,直接使用即可。那么假如我想知道某个键是否存在的话,需要怎么办呢?这时,我们可以使用 EXISTS 命令,如下:


当键存在的话,EXISTS 命令会返回 1,不存在则返回 0。

现在,我不想要 age 这个键了,我想把它删除了,这时就可以使用 DEL 命令了,如下:


返回的 1 表示成功删除了一个键。

2.2 散列类型

字符串类型只能进行一对一映射,现在我想要创建一个对象,对象里面有多个属性,每个属性都有它的值,这时候就需要散列类型了,来看看下面的例子:


这里表示通过 HSET 命令创建一个名为 person 的键,键里面对应三个属性分别为 name、age、sex,值分别为 Bob、22、male,然后我们可以通过 HGET 命令来获取 person 键某个属性的值,同时还可以使用 HGETALL 来获取 person 这个键的所有属性和值。

2.3 列表类型

列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,例如:


上图通过 RPUSH 命令向列表 list 里插入了 1、2、1、3 这四个元素,并通过 LRANGE 命令显示了第1-4个元素,然后通过 LPOP 命令删除第一个元素,最后再通过 LRANGE 命令显示。

2.4 集合类型

集合类型就非常有趣了,它有一个特点,就是集合中的元素都是互不相同的,并且没有顺序,比如:


在这里,我们通过 SADD 命令向集合 phone 里插入了 4 个元素,其中 123465 插入了两次,结果通过 SMEMBERS 命令获取 phone 里面所有元素的时候,显示只有 3 个元素,这就是集合的特点。同时,在执行第二条 SADD phone 123456 命令的时候,它的返回值为 0,说明这个元素在集合中已经存在了,所以再次插入就会失败。

2.5 有序集合

最后一种数据对象是有序集合,它跟集合一样,不允许存在重复的元素,而且它还提供了一个 score 字段,使得它可以通过我们赋予它的 score 值来排序,比如我现在想创建一个关于长跑的实时排行榜,排行榜显示了各个选手距离终点的距离,如下:


在这里,我先通过 ZADD 命令向 scoreboard 里插入了三个选手的距离及名称,然后不断通过 ZADD 命令来更新各个选手的距离,最后通过 ZRANGE 命令打印出所有选手的名称及距离。在这里有一点需要注意的是,虽然在更新各个选手的距离时的 ZADD 返回的是 0,但是选手的距离还是会改变。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值