目录
6、incr key:key值递增加1(key值必须为整数)
8、getset :获取key值并返回,同时给key设置新值
12、setnx:不存在键的话执行set操作,存在的话不执行
15、msetnx:批量设置键-值对,都不存在就执行并返回1;只要有一个存在就不执行并返回0
1、lpush(设置,创建):在头部(左侧left)依次插入列表元素
2、lpushx(相当于插入,从左侧插入):键必须存在才能执行,在头部插入元素值并返回并返回列表元素数量
3、lrange(获取,以下标索引的方式获取) :取从位置索引start到位置索引stop的所有元素(索引以0开始)
4、lpop :移除并返回mykey键的第一个元素,即从右往左第一个
5、lrem:从头部开始删除count个值为value的元素,并返回实际删除数量
6、lset:将位置索引为index的元素设置新值value
8、ltrim:仅保留从位置索引start到索引stop的元素
9、linsert :插入元素(利用before、after在指定元素前后插入)
11、rpushx :key必须存在才可执行,将value从尾部插入,并返回所有元素数量
13、rpoplpush :在key1的尾部弹出一个元素并返回,将它插入key2的头部
1、hset :给键值为myhash的键设置字段为##,值为##
6、hsetnx:通过hsetnx命令给##添加新字段##,其值为##,因为该字段已经被删除,所以该命令添加成功并返回1
4、sismember:判断f是否已经存在,返回值为0表示不存在
3、zcount:zcount key min max,分数满足表达式1 <= score <= 2的成员的数量
5、zincreby:将成员one的分数增加-1,并返回该成员更新后的分数
一、String数据类型
1、String数据类型概述
String是 redis 最基本的类型,最大能存储 512MB 的数据,String类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等。
2、string 数据类型常用命令
1、set 设置指定 key 的值
127.0.0.1:6379> set lisi shangjia ## 给key:lisi 赋值shangjia
OK
127.0.0.1:6379> get lisi ## 获取键:lisi的值
"shangjia"
2、get 获取指定 key 的值
127.0.0.1:6379> get a3
"3"
3、append key values
如果 key 已经存在并且是一个字符串, APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾。(若键不存在,则相当于创建)
127.0.0.1:6379> exists home ## 检测键:home是否存在
(integer) 0 ## 返回值为0,表示不存在
127.0.0.1:6379> append home "cat" ## 原值不存在,此时相当于添加值
(integer) 3
127.0.0.1:6379> get home ## 获取键:home的值
"cat"
127.0.0.1:6379> append home "dog" ## 原键存在值,此时相当于在原值的基础上进行追加
(integer) 6
127.0.0.1:6379> get home ## 获取键:home的值。呈追加状态
"catdog"
4、exists key:判断该键是否存在
存在返回1,不存在返回0
127.0.0.1:6379> exists v5 ## 查询键:v5的是否存在并显示值
(integer) 1 ## 返回值为1,表示存在
127.0.0.1:6379> get v5 ## 获取键:v5的值
"5"
127.0.0.1:6379> exists wangwu ## 查询键wangwu是否存在并显示值
(integer) 0 ## 返回值为0,表示不存在
127.0.0.1:6379> get wangwu
(nil)
5、strlen key:获取指定key的字符长度
127.0.0.1:6379> strlen v5
(integer) 1
127.0.0.1:6379> strlen home
(integer) 6
6、incr key:key值递增加1(key值必须为整数)
127.0.0.1:6379> set a 34 ## 设置key:a的values为34
OK
127.0.0.1:6379> incr a ## key值递增加1
(integer) 35
127.0.0.1:6379> get a ## 验证为递增加一
"35"
7、decr key:该Key的值递减1
127.0.0.1:6379> get a
"35"
127.0.0.1:6379> decr a ## key值递减1
(integer) 34
127.0.0.1:6379> get a
"34"
8、getset :获取key值并返回,同时给key设置新值
127.0.0.1:6379> getset m5 666 ## 键m5键值不存在情况下,直接赋予值为666
(nil)
127.0.0.1:6379> get m5
"666"
127.0.0.1:6379> getset m5 777 ## 当存在时,覆盖原值。为777
"666"
127.0.0.1:6379> get m5
"777"
9、incrby :减少指定的整数
127.0.0.1:6379> set b 20 ### 设置键b值等于5
OK
127.0.0.1:6379> incrby b 5 ### 设置递增为5
(integer) 25
127.0.0.1:6379> incrby b 5
(integer) 30
10、decrby :递减指定的整数
127.0.0.1:6379> get b ## 获取键值
"12"
127.0.0.1:6379> decrby b 3 ## 设置递减整数为3
(integer) 9
127.0.0.1:6379> decrby b 3
(integer) 6
11、setex :设置指定key的过期时间
redis: -1 往往代表的是一个上限,表示所有的意思
: -2 表示的失效/过期
127.0.0.1:6379> setnx b 30 ## 当键名为b值为30不存在时则创建
(integer) 1
127.0.0.1:6379> ttl b ## 查看键b的键值对有效时间
(integer) -1 ## 默认为永久失效
127.0.0.1:6379> setex b 10 30 ## 设置键值对b、30失效时间为10秒
OK
127.0.0.1:6379> ttl b
(integer) 8
127.0.0.1:6379> ttl b
(integer) 7
127.0.0.1:6379> ttl b
(integer) 6
127.0.0.1:6379> ttl b
(integer) 3
127.0.0.1:6379> ttl b ## 返回值为-2,键值对失效
(integer) -2
127.0.0.1:6379> get b ## 获取键值对。值为nil
(nil)
12、setnx:不存在键的话执行set操作,存在的话不执行
127.0.0.1:6379> get c ## 获取键值对,返回值为nil,不存在
(nil)
127.0.0.1:6379> set c 40 ## 设置键值对c、40
OK
127.0.0.1:6379> setnx c 40 ## 设置键值对c、40,返回值为0.说明已存在,设置失败
(integer) 0
127.0.0.1:6379> setnx d 40 ## 设置键值对d、40 ,返回值为40,设置成功
(integer) 1
127.0.0.1:6379> get c ## 获取键值对
"40"
127.0.0.1:6379> get d ## 获取键值对
"40"
13、mset:批量设置键对
14、mget:批量获取就键对
127.0.0.1:6379> mset a 10 b 20 c 30 d 40 ## 批量设置键值对
OK
127.0.0.1:6379> mget a b c d ## 批量获取键值对
1) "10"
2) "20"
3) "30"
4) "40"
15、msetnx:批量设置键-值对,都不存在就执行并返回1;只要有一个存在就不执行并返回0
127.0.0.1:6379> msetnx c 30 d 50 e 60 ## 批量设置键值对设置条件,当有一个存在时,整条不生效
(integer) 0 ## 返回值为0,不生效
127.0.0.1:6379> mget c d e ## 批量获取键值对,由于c和d 存在,以上设置e没生效为nil
1) "30"
2) "40"
3) (nil)
二、list 数据类型
1、list 数据类型概述
List 列表是简单的字符串列表,按照插入顺序排序,可以从头部或尾部向 List 列表添加元素。
2、list 数据类型常用类型
1、lpush(设置,创建):在头部(左侧left)依次插入列表元素
127.0.0.1:6379> lpush ceshi a b c d e
(integer) 5
2、lpushx(相当于插入,从左侧插入):键必须存在才能执行,在头部插入元素值并返回并返回列表元素数量
127.0.0.1:6379> lpushx ceshi01 g ## 从左侧插入g
(integer) 4
127.0.0.1:6379> lrange ceshi01 0 -1 ## 取链表中的全部元素,其中0表示第一个元素,-1表示最后一
## 一个元素
1) "g"
2) "h"
3) "f"
4) "e"
127.0.0.1:6379> rpushx ceshi01 a ## 从右侧添加元素
(integer) 5
127.0.0.1:6379> lrange ceshi01 0 -1 ## 显示所有元素
1) "g"
2) "h"
3) "f"
4) "e"
5) "a"
3、lrange(获取,以下标索引的方式获取) :取从位置索引start到位置索引stop的所有元素(索引以0开始)
127.0.0.1:6379> lrange ceshi01 0 -1 ## 显示所有元素
1) "g"
2) "h"
3) "f"
4) "e"
5) "a"
127.0.0.1:6379> lrange ceshi01 0 0 ## 获取该键的List Value的头部元素
1) "g"
4、lpop :移除并返回mykey键的第一个元素,即从右往左第一个
127.0.0.1:6379> lpush mykey a b c d
(integer) 4
127.0.0.1:6379> lrange mykey 0 -1
1) "d"
2) "c"
3) "b"
4) "a"
127.0.0.1:6379> lpop mykey ##移除并返回mykey键的第一个元素
"d"
127.0.0.1:6379> lrange mykey 0 -1
1) "c"
2) "b"
3) "a"
127.0.0.1:6379> llen mykey ## 获取表中元素数量,在执行lpop命令两次后,链表头部的两