Redis安装与命令使用

一、Redis安装

1.下载安装:Releases · tporadowski/redis · GitHub

注意:解压路径中没有空格,没有中文

2.进入目录,在目录的地址栏输入cmd,敲回车,打开命令行窗口

 3.在命令窗口输入:redis-server redis.windows.conf

显示这个页面就可以了

4.打开你的桌面Redis,创建连接

5.创建链接后可以直接点击打开控制台,右下角会出现一个窗口,用来输入命令

此外,还可以  在目录的地址栏输入cmd,敲回车,打开命令行窗口

在命令窗口输入 redis.cli 和 auth + (密码)

二、使用

1.select

Redis服务器默认配置了16个数据库,编号为0到15。每个数据库都是独立的,可以存储不同类型的数据。使用SELECT命令时,可以通过指定数据库的索引号来切换当前操作的数据库。

使用数据库9

2.set-添加一个键值对

注意:如果本身有key和value时,在添加同一个key时会把原有的value值进行覆盖

set   key(name)   value(lisi)

3.get-获取key值

4.append-将给定的value追加到原值的末尾

5.mset-同时设置多个key-value

6.setex

将值 value 关联到 key ,并将 key的生存时间设为 seconds(以秒为单位)

7.psetex

将值 value 关联到 key ,并将 key的生存时间设为milliseconds(以毫秒为单位)

8.ttl-以秒为单位,返回给定 key 的剩余生存时间

当 key 不存在时,返回 -2 。此时的key以被删除
当 key 存在但没有设置剩余生存时间时,返回 -1 。
否则,以秒为单位,返回 key 的剩余生存时间。

9.pttl-以毫秒为单位返回 key 的剩余生存时间

当 key 不存在时,返回 -2 。
当 key 存在但没有设置剩余生存时间时,返回 -1 。
否则,以毫秒为单位,返回 key 的剩余生存时间

10.exists-检查给定 key 是否存在

若 key 存在,返回 1 ,否则返回 0

11.dbsize-查看当前数据库中 key 的数量

12.flushdb-删除当前库中所有数据,不影响其他库

三、key相关操作命令

1.keys

keys * 查看所有

keys s* 查看以s开头的

2.move-将当前数据库的 key 移动到给定的另一个数据库当中

移动成功返回 1 ,失败则返回 0

3.rename-修改key

 rename  key  newkey

当 key 和 newkey 相同,或者 key 不存在时,返回一个错误
当 newkey 已经存在时, RENAME 命令将覆盖旧值

 修改前

 

修改后

4.type-返回 key 所储存的值的类型

返回值有以下六种:

​ none (key 不存在)

​ string (字符串)

​ list (列表)

​ set (集合)

​ zset (有序集)

​ hash (哈希表)

5.del-删除给定的一个或多个 key ,不存在的 key 会被忽略

DEL key [key ...]

6.persist-去除给定 key 的生存时间,将这个 key 从“易失的”转换成“持久的”

四、String相关操作命令

1.setnx

将 key 的值设为 value ,当且仅当 key 不存在。
若给定的 key 已经存在,则 SETNX 不做任何动作。
SETNX 是『SET if Not eXists』(如果不存在,则 SET)的简写

设置成功,返回 1
设置失败,返回 0

2.mget-返回所有(一个或多个)给定 key 的值

如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。因此,
该命令永不失败。

3.getrange

返回 key 中字符串值的子字符串,字符串的截取范围由 start 和 end 两个偏移量决
定(包括 start 和 end 在内)。
负数偏移量表示从字符串最后开始计数, -1 表示最后一个字符,-2 表示倒数第二个,
以此类推。
GETRANGE 通过保证子字符串的值域(range)不超过实际字符串的值域来处理超出范围
的值域请求

4.strlen-返回 key 所储存的字符串值的长度

返回 key 所储存的字符串值的长度
当 key 储存的不是字符串值时,返回一个错误

当 key 不存在时,返回 0

5.setrange

格式: setrange key offset value

用 value 参数替换给定 key 所储存的字符串值 str,从偏移量 offset 开始

6.incrbyfloat-用于将指定键的值增加指定的浮点数

a 的 key值为12.2.这里显示的数据偏差是因为精度问题

7.incrby-增加,增加的数自定

decrby-减少,减少的数自定

8.incr-增加,每次加1

decr-减少,每次减1

五、Hash相关操作命令

1.hset-将哈希表 key 中的域 field 的值设为 value

格式:HSET key field value

如果 key 不存在,一个新的哈希表被创建并进行 HSET 操作
如果域 field 已经存在于哈希表中,旧值将被覆盖

如果 field 是哈希表中的一个新建域,并且值设置成功,返回 1
如果哈希表中域 field 已经存在且旧值已被新值覆盖,返回 0

2.hget-返回哈希表 key 中给定域 field 的值

当给定域不存在或是给定 key 不存在时,返回 nil

3.hgetall-返回哈希表 key 中,所有的域和值

在返回值里,紧跟每个域名(field name)之后是域的值(value),所以返回值的长度是
哈希表大小的两倍

若 key 不存在,返回空列表

4.hdel-删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略

5.hmset-同时将多个 field-value (域-值)对设置到哈希表 key 中

此命令会覆盖哈希表中已存在的域
如果 key 不存在,一个空哈希表被创建并执行 HMSET 操作

如果命令执行成功,返回 OK
当 key 不是哈希表(hash)类型时,返回一个错误

6.hexists-查看哈希表 key 中,给定域 field 是否存在

如果哈希表含有给定域,返回 1
如果哈希表不含有给定域,或 key 不存在,返回 0

7.hkeys-返回哈希表 key 中的所有域

一个包含哈希表中所有域的表。
当 key 不存在时,返回一个空表。

8.hvals-返回哈希表 key 中所有域的值

一个包含哈希表中所有值的表
当 key 不存在时,返回一个空表

9.hlen-返回哈希表 key 中域的数量

当 key 不存在时,返回 0

六、List相关操作命令

1.lpush-将一个或多个值 value 插入到列表 key 的表头(最左)

如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表头


2.rpush-将一个或多个值 value 插入到列表 key 的表尾(最右边)

如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表尾

3.lrange-返回所有数据

4.llen-返回列表 key 的长度

5.lpop-移除并返回列表 key 的头元素

6.rpop-移除并返回列表 key 的尾元素

7.ltrim-对一个列表进行修剪

让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除

下标从0开始

七、Set相关操作命令

1.sadd-增加

将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略
假如 key 不存在,则创建一个只包含 member 元素作成员的集合。
当 key 不是集合类型时,返回一个错误。

2.smembers-返回集合 key 中的所有成员

3.sismember-判断 member 元素是否集合 key 的成员

格式:sismember key member

如果 member 元素是集合的成员,返回 1 。
如果 member 元素不是集合的成员,或 key 不存在,返回 0

4.scard-返回集合 key 的基数(集合中元素的数量)

5.smove

格式:smove source destination member

将 member 元素从 source 集合移动到 destination 集合

如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执行任何操
作,仅返回 0 。否则, member 元素从 source 集合中被移除,并添加到 destination 集
合中去。
当 destination 集合已经包含 member 元素时, SMOVE 命令只是简单地将 source 集
合中的 member 元素删除。
当 source 或 destination 不是集合类型时,返回一个错误

6.spop-移除并返回集合中的一个随机元素

格式:SPOP key [count]

移除并返回集合中的 count 个随机元素。count 必须为正数,且默认值为 1。如果 count 大于等于集合长度,那么移除并返回整个集合。

八、Sorted Set(有序集)

1.zadd

格式:zadd key score member [[score member] [score member] ...]

将一个或多个 member 元素及其 score 值加入到有序集 key 当中,如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新插入这个 member 元素,来保证该 member 在正确的位置上score 值可以是整数值或双精度浮点数,如果 key 不存在,则创建一个空的有序集并执行 ZADD 操作
当 key 存在但不是有序集类型时,返回一个错误

2.zrem-移除有序集 key 中的一个或多个成员,不存在的成员将被忽略

3.zcard-返回有序集 key 的基数

当 key 存在且是有序集类型时,返回有序集的基数
当 key 不存在时,返回 0

4.zcard-返回集合的长度

5.zscore-返回有序集 key 中,成员 member 的 score 值

6.zrange-返回有序集 key 中,指定区间内的成员-递增

其中成员的位置按 score 值递增(从小到大)来排序。
具有相同 score 值的成员按字典序(lexicographical order )来排列

7.zrevrange-返回有序集 key 中,指定区间内的成员-递减

其中成员的位置按 score 值递减(从大到小)来排列。
具有相同 score 值的成员按字典序的逆序(reverse lexicographical order)排列。
除了成员按 score 值递减的次序排列这一点外, ZREVRANGE 命令的其他方面和
ZRANGE 命令一样。

8.zcount-返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或max )的成员的数量

格式:zcount key min max

9.zscore-返回有序集 key 中,成员 member 的 score 值

10.zincrby-为有序集 key 的成员 member 的 score 值加上增量 increment,increment 值可以是整数值或双精度浮点数。

格式:zincrby key increment member

可以通过传递一个负数值 increment ,让 score 减去相应的值,比如 ZINCRBY key -5
member ,就是让 member 的 score 值减去 5 。
当 key 不存在,或 member 不是 key 的成员时, ZINCRBY key increment member 等
同于 ZADD key increment member 。
当 key 不是有序集类型时,返回一个错误。
score 值可以是整数值或双精度浮点数。

11.zrank-返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递增(从小到大)顺序排列

排名以 0 为底,也就是说, score 值最小的成员排名为 0 。
使用 ZREVRANK 命令可以获得成员按 score 值递减(从大到小)排列的排名。

12.zrevrank-返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递减(从大到小)排序

排名以 0 为底,也就是说, score 值最大的成员排名为 0 。
使用 ZRANK 命令可以获得成员按 score 值递增(从小到大)排列的排名。

13.zremrangebyscore-移除有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值