文章目录
Redis 3.2 —— 安装及基本命令
目的
- Win10 安装 Redis
- Win10 安装 Redis客户端
- Redis常用基本命令
Win10 安装 Redis
版本及安装
https://github.com/microsoftarchive/redis/releases 点击打开下载地址
版本:3.2.100
参照并鸣谢:
博客:https://www.cnblogs.com/juncaoit/p/10122642.html
按照上面博客进行,开机会自动启动redis
强调:修改密码
后面会使用客户端能访问,需要设置密码。
编辑 redis.windows-service.conf 修改密码
- 打开后
搜索 requirepass
,这是redis密码,默认是没有密码,这里我们设置为123456
修改redis.windows-service.conf,而不是redis.windows.conf。后者是非系统服务方式启动程序使用的配置文件。
插入一条数据
- 我的Redis放到C盘跟目录了,地址为C:\Redis,下面代码是向redis中设置一个
k[frank],v[one-redis-value]
。
C:\Redis>redis-cli.exe
127.0.0.1:6379> set frank "one-reids-value"
OK
127.0.0.1:6379>
Win10 安装 Redis客户端
客户端:Redis Desktop Manager
下载地址:https://redisdesktop.com/pricing#osx-download
安装后界面
我下载的是0.9.3.817
- 点击 连接到Redis服务器,录入账号密码,并测试连接
- 查看之前插入的值
Redis 常用基本命令
- 首先看一下Redis目录下都有什么
基础命令
命令 | 描述 |
---|---|
redis-server redis.windows.conf | 启动,win10可以再服务中启动 ![]() |
redis-cli.exe | 启动客户端,参照上面通过cmd插入key为“frank”的例子 |
quit | 关闭连接 |
auth | (仅限启用时)简单的密码验证 |
EXISTS key | 判断一个键是否存在;存在返回 1;否则返回0; |
DEL key | 删除某个key,或是一系列key;DEL key1 key2 key3 key4 |
TYPE key | 返回某个key元素的数据类型 ( none:不存在,string:字符,list,set,zset,hash) |
KEYS pattern | 返回匹配的key列表 (KEYS foo*:查找foo开头的keys) |
RANDOMKEY | 随机获得一个已经存在的key,如果当前数据库为空,则返回空字符串 |
RENAME oldname newname | 更改key的名字,新键如果存在将被覆盖 |
RENAMENX oldname newname | 更改key的名字,如果名字存在则更改失败 |
DBSIZE | 返回当前数据库的key的总数 |
EXPIRE | 设置某个key的过期时间(秒) : EXPIRE bruce 1000 - 设置bruce这个key1000秒后系统自动删除 注意:如果在还没有过期的时候,对值进行了改变,那么那个值会被清除。 |
TTL | 查找某个key还有多长时间过期,返回时间秒 |
SELECT index | 选择数据库 |
MOVE key dbindex | 将指定键从当前数据库移到目标数据库 dbindex 成功返回 1;否则返回0(源数据库不存在key或目标数据库已存在同名key); |
FLUSHDB | 清空当前数据库中的所有键 |
FLUSHALL | 清空所有数据库中的所有键 |
字符串的命令
命令 | 描述 |
---|---|
SET key value | 给一个键设置字符串值。 SET keyname datalength data 例如:(SET bruce 10 paitoubing:保存key为burce,字符串长度为10的一个字符串paitoubing到数据库) data最大不可超过1G。 |
GET key | 获取某个key 的value值。 如key不存在,则返回字符串“nil”;如key的值不为字符串类型,则返回一个错误。 |
GETSET key value | 可以理解成获得的key的值然后SET这个值,操作更便捷: SET bruce 10 paitoubing,这个时候需要修改bruce变成1234567890并获取这个以前的数据paitoubing, GETSET bruce 10 1234567890 |
MGET key1 key2 … keyN | 一次性返回多个键的值 |
SETNX key value SETNX | 与SET的区别是SET可以创建与更新key的value,而SETNX是如果key不存在,则创建key与value数据MSET key1 value1 key2 value2 … keyN valueN 在一次原子操作下一次性设置多个键和值 |
MSETNX key1 value1 key2 value2 … keyN valueN | 在一次原子操作下一次性设置多个键和值(目标键不存在情况下,如果有一个以上的key已存在,则失败) |
INCR key | 自增键值 |
INCRBY key integer | 令键值自增指定数值 |
DECR key | 自减键值 |
DECRBY key integer | 令键值自减指定数值 |
lists的命令
命令 | 描述 |
---|---|
RPUSH key value | 从 List 尾部添加一个元素(如序列不存在,则先创建,如已存在同名Key而非序列,则返回错误) |
LPUSH key value | 从 List 头部添加一个元素 |
LLEN key | 返回一个 List 的长度 |
LRANGE key start end | 从自定的范围内返回序列的元素 : (LRANGE testlist 0 2;返回序列testlist前0 1 2元素) |
LTRIM key start end | 修剪某个范围之外的数据: (LTRIM testlist 0 2;保留0 1 2元素,其余的删除) |
LINDEX key index | 返回某个位置的序列值: (LINDEX testlist 0;返回序列testlist位置为0的元素) |
LSET key index value | 更新某个位置元素的值 |
LREM key count value | 从 List 的头部(count正数)或尾部(count负数)删除一定数量(count)匹配value的元素,返回删除的元素数量。 |
LPOP key | 弹出 List 的第一个元素 |
RPOP key | 弹出 List 的最后一个元素 |
RPOPLPUSH srckey dstkey | 弹出 _srckey_ 中最后一个元素并将其压入 _dstkey_ 头部,key不存在或序列为空则返回“nil” 处理集合(sets)的命令(有索引无序序列) |
SADD key member | 增加元素到SETS序列,如果元素(membe)不存在则添加成功 1,否则失败 0;(SADD testlist 3 \n one) |
SREM key member | 删除SETS序列的某个元素,如果元素不存在则失败0,否则成功 1(SREM testlist 3 \N one) |
SPOP key | 从集合中随机弹出一个成员 |
SMOVE srckey dstkey member | 把一个SETS序列的某个元素 移动到 另外一个SETS序列: (SMOVE testlist test 3\n two;从序列testlist移动元素two到 test中,testlist中将不存在two元素) |
SCARD key | 统计某个SETS的序列的元素数量 |
SISMEMBER key member | 获知指定成员是否存在于集合中 |
SINTER key1 key2 … keyN | 返回key1, key2, …, keyN 中的交集 |
SINTERSTORE dstkey key1 key2 … keyN | 将 key1, key2, …, keyN 中的交集存入 dstkey |
SUNION key1 key2 … keyN | 返回 key1, key2, …, keyN 的并集 |
SUNIONSTORE dstkey key1 key2 … keyN | 将 key1, key2, …, keyN 的并集存入 dstkey |
SDIFF key1 key2 … keyN | 依据 key2, …, keyN 求 key1 的差集,官方例子:key1=x,a,b,c key2=c key3=a,d SDIFF key1,key1,key3 => x,b |
SDIFFSTORE dstkey key1 key2 … keyN | 依据 key2, …, keyN 求 key1 的差集并存入 dstkey |
SMEMBERS key | 返回某个序列的所有元素 |
SRANDMEMBER key | 随机返回某个序列的元素 |
处理有序集合(sorted sets)的命令 (zsets)
命令 | 描述 |
---|---|
ZADD key score member | 添加指定成员到有序集合中,如果目标存在则更新score(分值,排序用) |
ZREM key member | 从有序集合删除指定成员 |
ZINCRBY key increment member | 如果成员存在则将其增加_increment_,否则将设置一个score为_increment_的成员 |
ZRANGE key start end | 返回升序排序后的指定范围的成员 |
ZREVRANGE key start end | 返回降序排序后的指定范围的成员 |
ZRANGEBYSCORE key min max | 返回所有符合score >= min和score <= max的成员 |
ZCARD key | 返回有序集合的元素数量 |
ZSCORE key element | 返回指定成员的SCORE值 |
ZREMRANGEBYSCORE key min max | 删除符合 score >= min 和 score <= max 条件的所有成员 |
排序(List, Set, Sorted Set)
SORT key BY pattern LIMIT start end GET pattern ASC|DESC ALPHA 按照指定模式排序集合或List
命令 | 描述 |
---|---|
SORT mylist | 默认升序 ASC |
SORT mylist DESC | 倒序 |
SORT mylist LIMIT 0 10 | 从序号0开始,取10条 |
SORT mylist LIMIT 0 10 ALPHA DESC | 分页加排序 |
SORT mylist BY weight_* | 按首字母排序 |
SORT mylist BY weight_* GET object_* | 按首字母排序 |
SORT mylist BY weight_* GET object_* GET # | 按首字母排序 |
SORT mylist BY weight_* STORE resultkey | 将返回的结果存放于resultkey序列(List) |
持久控制
命令 | 描述 |
---|---|
SAVE | 同步保存数据到磁盘 |
BGSAVE | 异步保存数据到磁盘 |
LASTSAVE | 返回上次成功保存到磁盘的Unix时间戳 |
SHUTDOWN | 同步保存到服务器并关闭 Redis 服务器(SAVE+QUIT) |
BGREWRITEAOF | 当日志文件过长时重写日志文件 |
远程控制命令
命令 | 描述 |
---|---|
INFO | 提供服务器的信息和统计信息 |
MONITOR | 实时输出所有收到的请求 |
SLAVEOF | 修改复制选项 |
注意:上面命令都是大写,其实小写也可以,同时支持大小写。
补充:关于Windows下启动方式
- cmd进入redis根目录,执行下列命令
redis-server.exe redis.windows.conf
得到的结果如下:
- 打开一个新的终端(cmd),测试redis是否启动,输入一下命令
redis-cli
如果成功登陆,会显示本机IP,如下图所示:
这样Redis便启动成功了。