Redis的常用命令

原文: https://mojun.blog.csdn.net/article/details/61628024

在此之前确实没过多接触过Redis这个东西,网上听到别人说起用在缓存方面很给力。百度了一下Redis官方是这么说的。Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

1.redis是一个key-value存储系统


2.Redis 是一个高性能的key-value数据库。


3.Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。



我自己的理解是,这个Redis它是用c语言写的,类似小型的数据库,而且数据是常驻在电脑内存的这么一个软件服务。支持多


种数据结构如List,set,hash表,键值对等等,这样一来,有一些常用到的数据就不用去到数据库中通过sql语句去查询了,因为放在


redis里取出来的速度比去数据库查询的速度还要快!这一特点比较适合去做缓存之类的东西,并且官方好像是说支持的并发量是几


十万左右。同时它还支持持久化在硬盘上,上面不是说这个玩意存东西都在内存里面嘛,内存一断电就数据销毁了。但是Redis会为


我们去做这个持久化操作,断电之后会把之前信息储存在硬盘中。等我们下次电脑启动之时,它又会重新把数据加载到内存中去,


我们的数据是不会丢失的。其缺点就是Redis肯定是很耗内存的,毕竟所有的数据都在内存中存储嘛。



建议入门Redis,大多数人在windows环境学习的。实际运用过程我们是不会把Redis服务端放在windows平台上的,但是windows平台可以让我们快速的进行学习它的语法和


操作,等学好之后再去考虑安装Redis在Linux环境上。要说起来Linux上去安装Redis,新手会花费很多时间,我们先把重点放在学习Redis上,再去考虑安装环境的问题。




Windows下安装Redis很简单,下载Redis的Windows版本的一个压缩包,进行解压即可。


压缩包下载地址: 我的资源频道去下载也可以去网上找一找


解压如图所示:





1. 启动cmd 进入到此文件夹下面


2.启动redis服务: redis-server.exe redis.windows.conf




3.启动一个客户端: redis-cli.exe -h ip地址 -p 端口号 (默认连接本机的redis服务,可以不加参数,默认ip为本地ip,默认端口6379)



4. 启动两个完成之后就可以进行测试了。下面是redis中常用的指令,查看所有指令的请到官网查询。




关于key :

增 : set key “message”


删 : del key


改 : rename key newName


查 : keys * //获取所有的key


是否存在: exists key


设置过期时间: expire key 300 //设置key的过期时间为 300秒


显示过期剩余时间: ttl key //显示name的剩余过期时间(秒) pttl name (显示毫秒数)


显示键的数据类型: type key




关于字符串的常用操作:


get key //返回key的字符串的值


set key “message” //设置key所对应的值


关于对hash表的操作:


增: hset key filed “message” //设置key 字段为filed的值为message


删: hdel key filed //删除哈希表的key 的字段


查: hgetall key //返回哈希表 key 中,所有的域和值。

hkeys key //返回该key的所有字段域

hvals key //返回哈希表 key 中所有域的值。

hlen key //返回哈希表 key 中域的数量。

是否存在哈希key: hexists key //是否存在哈希key



关于list集合的操作:


增:lpush(栈的形式) rpush(队列形式)

删:lrem key count value //删除列表中与count相等下标的元素

count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。
count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。
count = 0 : 移除表中所有与 value 相等的值。

查:lindex key index 返回列表 key 中,下标为 index 的元素。

lpop(rpop) key //返回并删除第一个元素或者最后一个元素

lrange key startIndex endIndex //查询返回从第startIndex到endIndex的所有元素


关于set集合的操作:


增:sadd key “message” //向key的set集合添加一个”message”元素

查: smembers key //返回集合 key 中的所有成员。


事务和订阅:


开启事务: multi


执行事务:exec


客户端订阅频道: subscribe 频道名称


服务端发送信息: publish 频道名称 “message”信息