redis基础
redis包中包含服务端和客户端
redis客户端和服务端的命令:
客户端:redis-cli -p 6379
服务端:redis-server redis.windows.conf
注意:
一个redis.windows.conf配置就是一个redis服务器。需要启动多个服务器时,只需要修改一下这个配置文件redis.windows.conf的名称,更改端口号,再用redis-server就可以启动。
启动redis
我使用的6380端口(redis默认的是6379端口,由于我在上面配置文件里配置了6380端口,所以我可以使用6380端口,也可以使用6379端口)
一定要在redis的安装路径下启动
这就启动成功了
redis的优点
1.读写速度快. 数据存放在内存中,数据结构类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)
2.支持丰富的数据类型,string,hash,list,set,sorted。
3.支持简单事务,watch
4.丰富的特性:可以用于缓存,消息队列,按key设置过期时间,到期后自动删除
5.支持数据持久化(将内存数据持久化到磁盘),支持AOF和RDB两种持久化方式,从而进行数据恢复操作,可以有效地防止数据丢失
6.支持主从(master-slave)复制来实现数据备份,主机会自动将数据同步到从机
redis安装目录下重要文件
redis-benchmark 性能测试工具
redis-check-aof 日志文件检测工(比如断电造成日志损坏,可以检测并修复)
redis-check-dump 快照文件检测工具,效果类上
redis-cli 客户端
redis-server 服务端
redis.windows.conf redis配置文件,在启动redis服务器的时候,必须要指定配置文件,那么相当于于一个配置文件就是一个redis数据库服务器
redis基础命令
1.keys * //返回键(key)
2.keys list* //返回名以list开头的所有键(key)
3.exists list1 //判断键名为list1的是否存在 存在返回1, 不存在返回0
4.del list1 //删除一个键(名为list1)
5.expire list1 10 //设置键名为list1的过期时间为10秒后
6.通过这种有效期可以做到自动删除,其实有效期到了,也不是立马删除的,删除的时机是有配置文件决定的。
7.ttl list1 //查看键名为list1的过期时间,若为-1表示已过期 或 永不过期
8.move age 1 //将键名age的转移到1数据库中。
9.select 1 //表示进入到1数据库中,默认在0数据库
10.persist age //移除age的过期时间。
11.flushdb:删除所有的数据 清除当前所在库的所有数据
12.flushall 清空所有数据
redis数据类型
字符串型
set方法:设置key对应的值为string类型的value,如果该key已经存在,则覆盖key对应的value值。所以在redis中key只能有一个。
get:根据key获取value值
Setnx:设置一个不存在的字符串,返回0 表示设置失败,已存在。返回1 表示设置新值成功,nx是not exist的意思。