在此之前确实没过多接触过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"信息