Redis的基本数据操作

一 关于key的操作

1.del 删除key

1.语法 DEL key [key ...] 

2.删除给定的一个或多个key 。不存在的key 会被忽略。多个key之间使用空格隔开

3.返回值: 被删除key 的数量。

2.exists 判断key是否存在

1.语法 EXISTS key [key...]

2.检查给定key 是否存在。多个key之间使用空格隔开,只要有一个key存在,返回值就是1 新版本中会提示几个键存在

3.返回值: 若key 存在,返回的是存在的个数。

3.expire 给key设置存在时间 

1.语法 EXPIRE key seconds

2.为给定(已经存在的)key 设置生存时间,当key 过期时(生存时间为0 ),它会被自动删除。

3.返回值:设置成功返回1 。

我给这个yzm 设置了10秒的时间 当10秒一过,连yzm这个key都消失了

 4.keys 查找符合要求的key

1.keys * 返回所有的keys值

2.keys xx?xxx  ?相当于占位符,中间可以是任意的值

3.keys xx*xx 返回的key值中只要只要两边是xx就行了

4.keys xx[ab]xx 返回的只能是xxaxx或者是xxbxx

5.move 移动key到其他库

1.语法 MOVE key db (move name 1----将name键移动到1号库

2.将当前数据库的key 移动到给定的数据库db 当中。

3.返回值: 移动成功返回1 ,失败则返回0 。

4.移动过后 自身库没有这个key了

5.移动一个不存在的key 不会报错 返回0 

 6. pexpire 给key 设置存在时间 毫秒为单位

1.PEXPIRE key milliseconds

2.这个命令和EXPIRE 命令的作用类似,但是它以毫秒为单位设置key 的生存时间,而不像EXPIRE 命令那样,以秒为单位。

3.返回值:设置成功,返回1  key 不存在或设置失败,返回0

4.时间消失key值自动删除

7.pexpireat  给key 设置存在时间 毫秒的时间戳为单位

1.语法 :  PEXPIREAT key milliseconds-timestamp

2.作用 :  这个命令和EXPIREAT 命令类似,但它以毫秒为单位设置key 的过期unix 时间戳,而不是像EXPIREAT那样,以秒为单位。

3.返回值:如果生存时间设置成功,返回1 。当key 不存在或没办法设置生存时间时,返回0 。(查看EXPIRE 命令获取更多信息)

4.如果时间一过,keys自动删除

 8.ttl 返回keys存在的时间

1.语法 :   TTL key

2.作用 :   以秒为单位,返回给定key 的剩余生存时间(TTL, time to live)。

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

 9 PTTL 返回keys存在的时间

1.语法 :  PTTL key

2.作用 :  这个命令类似于TTL 命令,但它以毫秒为单位返回key 的剩余生存时间,而不是像TTL 命令那样,以秒为单位。

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

10 randomkey 随机返回一个键

1.语法:RANDOMKEY

2.从当前数据库中随机返回(不删除) 一个key 。

3.返回值:当数据库不为空时,返回一个key 。当数据库为空时,返回nil 。

 11.RENAME 给键重命名

1.语法 :  RENAME key newkey

2.作用 :  将key 改名为newkey 。当key 和newkey 相同,RENAME 命令将覆盖旧值。如果键不存在,才报错

3.返回值: 改名成功时提示OK ,失败时候返回一个错误。

 12. type 返回键的类型

1.语法 :  TYPE key

2.作用 :  返回key 所储存的值的类型。

3.返回值:
    none (key 不存在)
    string (字符串)
    list (列表)
    set (集合)
    zset (有序集)
    hash (哈希表)

二 关于 String类型的操作

1. set 设置一个key/value

2. get 获取一个key/value

3. mset 设施多个key/value

1.中间空格隔开

 4. mget 获取多个key/value

1.中间空格隔开

 5.getset 获得原始key的值,同时设置新值

 6.strlen 获得对应key存储value的长度

1.语法 strlen key

7.append 为对应key的value追加内容  

1.返回值为value的长度

 8.getrange 截取value的内容 到末尾-1 [开始,结束]

 9.setex 设置一个key存活的有效期(秒)

1.语法 :setex key seconds value

2.时间一过 key消失

 10.psetex 设置一个key存活的有效期(毫秒)

1.语法:psetex key seconds value

2.时间一过 key消失

11.setnx 不做任何操作

12 msetnx原子操作(只要有一个存在不做任何操作)

1.可以同时设置多个key,只有有一个存在都不保存(key必须存在)

2.不改变原来的value

 13. decr 进行数值类型的-1操作

1.如果不是数值类型 返回-1

 14.decrby 根据提供的数据进行减法操作

1.1.如果不是数值类型 返回-1

 15.Incr 数值类型+1

1.如果不是数值类型 返回-1

16.incrby 根据提供的数据进行加法操作

1.如果不是数值类型 返回-1

17.Incrbyfloat 根据提供的数据加入浮点数(不是四舍五入)

三  List类型 (value 是list类型)

1.lpush  向列表中添加元素

1.返回值是列表的长度

2.如果列表不存在回自动创建

3.添加到头部

2. lpushx 向列表中添加元素

1.这个keys值必须存在

2.返回值是列表长度

 3.rpush 向列表中添加元素(从右边)

1.跟lpush一样

4.rpushx 向列表中添加元素(从右边)

1.跟lpushx一样

5.lpop 返回和移除列表左边的元素

1.lpop key值 返回跟移除左边第一个

2. lpop key count 返回跟移除左边count元素

3. 如果count的值大于列表长度,则全部去出来并移除

4.当列表中没有元素时 这个key也不存在了

5.rpop 返回和移除列表右边的元素

1.lpop key值 返回跟移除右边第一个

2. lpop key count 返回跟移除右边count元素

3. 如果count的值大于列表长度,则全部去出来并移除

4.当列表中没有元素时 这个key也不存在了

6. lrange 获取列表的元素

1.可以遍历列表

2.如果不知道列表长度有多少且想遍历列表 直接 0 -1

7.llen 获取列表长度

8.lset 设置某一个指定索引的值

1.索引必须存在

2.返回值是ok/no

3.语法: lset key 索引 元素

 9.lindex 获取某一个指定索引位置的元素

1.获取索引元素,但是不会移除元素

 10.lrem 删除重复的元素

1.语法 lrem key count 元素

2.返回值是删除元素的个数

3.如果count>0,则从左边开始删除,count<0从右边开始删除

        

 11 ltrim 截取列表中特定区间内的元素

1.语法 ltrim key start end

2.保留切下来的列表

 12.linsert 在元素之间添加元素

1.before在某个元素之前添加 after 在某个元素之后添加

2. 语法 linsert  key before/after 元素 想添加的元素

3.返回值是列表元素个数

四 set类型

1. sadd为集合添加元素

1.不能添加重复的元素

2.如果添加元素后面有集合中没有的 只会添加那个没有的

 2.smembers 显示集合中所有元素 无序

1.显示是无序的

3.scard  返回集合中的个数

 

4.spop 随机返回一个元素 并将元素在集合中删除

1.后面 考研跟一个数字 表示随机返回几个值

2.如果删除完了 这个key也消失了

5.smove 从一个集合中向另一个集合移动元素 

1.语法 :smove 集合1 集合2 元素(集合1中的元素)

2.必须是同一种类型

5.sismember 判断一个集合中是否含有这个元素  

1.语法 sismember key 元素

2.存在返回1 不存在返回9

 6.srem 从集合中删除一个元素

1.返回值是删除元素的个数

7.srandmember 随机返回元素 后面可以加数字 表示每次返回的个数

 8.sdiff 去掉第一个集合中其它集合含有的相同元素

 9.sinter 求交集

10 sunion  并集

五.zset

特点: 可排序的set集合 排序 不可重复

1.zadd 添加一个有序集合元素

1.返回值是添加的元素个数

 2.zcard 返回集合的个数

3.zrange 升序 zrevrange 降序

1.语法 zrange key 一个范围

2.返回值是范围内的元素

3.想看排序的分数 可以加一个 withscores

 4.zrangebyscore 按照分数查找一个范围内的元素

1.跟升序一样

5.zrank 返回排名

1.返回的是类似与索引那样 比如说是第二名 则返回1

 6.zrevrank 倒序排名

1.反着排序

7.zscore 显示某一个元素的分数

 8.zrem 移除某一个元素

1.返回值是移除元素的个数

 9.zincrby 给某个特定元素加分

1.语法: zincrby key score 元素

六 hash类型

特点: value 是一个map结构 存在key value key 无序的

redis key(String) value(map)

Map<String,Map<String,value>> map

举例:map name zhangsan

1.hset 设置一个或多个key/value对

1.返回值是添加的后面的键值对个数

2. hget 获得一个key对应的value

1.语法 hget key(大) key

 3.hgetall 获得所有的key/value对

 4.hdel 删除某一个key/value对

1.返回的是删除的键值对

 5.hexists 判断一个key是否存在

1.存在返回1

6.hkeys hvals 获得所有的key values

 7.hmset 设置多个key/value

1hset一样

8.hmget 获取多个key/value

2.跟hget一样

9.其他

跟String后面的几个操作差不多

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值