原文: https://blog.csdn.net/xyz_dream/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”信息