Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它不仅支持简单的字符串键值对,还提供了一系列数据结构类型值,比如列表、哈希、集合和有序集,并在这些数据结构类型上定义了一套强大的API 。接下来,我们来看看如何在Windows下安装和使用Redis。
Redis在Windows下的安装
1.下载Windows版的Redis
访问Redis官网或直接前往GitHub:https://github.com/MSOpenTech/redis下载相应版本的压缩包。直接解压。
2.启动服务器
Win+R快捷键,输入CMD,进入CMD窗口,进入解压后文件所在路径,并输入以下指令:
redis-server.exe redis.windows.conf
如图,则服务启动成功。
3.启动客户端
Win+R快捷键,输入CMD,重新打开一个CMD窗口,进入解压后文件所在路径,并输入以下指令:
redis-cli.exe
如果设置了登录密码,则需要再输入密码才能登陆成功。
auth yourPasspord
如图所示:
Redis常用命令
1.设置
设置密码
CONFIG SET requirepass myPassword # 将密码设置为 myPassword
清空密码
CONFIG SET requirepass "" # 通过将密码设为空字符来清空密码
测试客户端和服务端连接
ping
连接正常,返回一个PONG,不正常,返回错误信息:Could not connect to Redis at 127.0.0.1:6379: Connection refused
退出客户端,关闭与服务器的连接
quit
切换选择数据库
SELECT index
默认情况下,我们选择的是0号数据库,通过数据库索引号 index 数值指定要切换的数据库
2.String
Sds (Simple Dynamic String,简单动态字符串)是Redis 底层所使用的字符串表示,它被用在几乎所有的Redis 模块中。
将字符串值 value 关联到 key
SET key value [EX seconds] [PX milliseconds] [NX|XX]
如果 key 已经持有其他值, SET 就覆写旧值,无视类型。
对于某个原本带有生存时间(TTL)的键来说, 当 SET命令成功在这个键上执行时, 这个键原有的 TTL 将被清除。
参数:
EX second :设置键的过期时间为 second 秒。 SET key value EX second 效果等同于 SETEX key second value 。
PX millisecond :设置键的过期时间为 millisecond 毫秒。 SET key value PX millisecond 效果等同于 PSETEX key millisecond value 。
NX :只在键不存在时,才对键进行设置操作。 SET key value NX 效果等同于 SETNX key value 。
XX :只在键已经存在时,才对键进行设置操作。
返回 key 所关联的字符串值
GET key
返回key所关联的字符串值。
如果key 不存在那么返回特殊值nil 。
假如 key储存的值不是字符串类型,返回一个错误,因为 GET 只能用于处理字符串值。
3.Hash
Redis hash是一个String类型的field和value的映射表,适合存储对象。
Redis一个hash中可以存放2的32次方减1个键值对。
hmset hashname name "zhangshichao" description "zhangshichao "
查询这个hash,
hgetall hashname
结果如图:获取某一个hash的某一个key的值:
hget hashname name
删除一个或多个hash的表字段:
hdel hashname name
判断某个字段是否存在于某个hash表中
hexists hashname description
存在返回1,不存在返回0.
4.列表
Redis列表是简单的字符串列表,按照插入顺序排序。
向list中插入多个值
一个列表最多可以包含 232 - 1 个元素。
lpush listname redis mongodb sqlServer
获取list的长度
llen listname
在列表中添加一个或多个值
rpush listname hbase
获取列表中指定范围的元素(从0开始计算)
lrange listname 0 2
根据索引获得列表中的元素
lindex listname 1
移除并获取列表中的第一个元素
lpop listname
移除列表中的元素
lrem listname 1 mongodb
4.set
Redis的Set是String类型的无序集合,集合成员必须唯一,它是通过hash表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合中最大的成员数为 232 - 1。
存储
sadd setname redis mongodb
查询
smembers setname
删除集合中的一个或多个成员
srem setname mongodb