redis的基本操作

1.String类型

1.语法 set key value 设置key的值
示例:set name zhangsan
set age 22
set name lisi 如果key存在,将会覆盖原来key的值

2.语法 get key 获取key的值
示例:get name
get age

3.语法 del key 删除指定key的值
示例:del name
del age

4.语法: append key value 在原来的值的基础上添加新值
示例:set name zhangsan
append name lisi

5.语法: strlen key 获取指定key的值的长度
strlen name 12

6.语法: getrange key start end 获取指定key的值,从start位置开始,end位置结束
示列:getrange name 2 7

7.语法: setrange key offset value 从起始位置替换值
示例:setrange name 2 abc

8.语法: setex key second value 设置key的值并指定存活时间
示例: setex name 100 lisi

9.语法:setnx key value 设置key的值并且永久有效
示例:setnx address beijing

10.语法: incr key 对key的值自增1
示列: incr currentPage

11.语法: decr key 对key的值自减1
示列: decr currentPage

12.语法: incrby key number 对key的值递增number
示列: incrby currentPage 10

13.语法: decrby key number 对key的值递减number
示列: decrby currentPage 5

14.语法: mset key1 value1 key2 value2 … 一次性设置多个key-value键值对
示列: mset name1 zhangsan name2 lisi name3 wangwu

15.语法: mget key1 key2 … 一次性获取多个key的值
示列: mget name1 name2
16.语法 expire key seconds 设置key的存活时间 seconds秒数
示例 expire address 30
17 语法 ttl key 查看key的存活时间 如果返回-1 表示永久有效
示例 ttl name
18.语法 persist key 设该key永久有效
示列 persist address

Hash数据类型

Map<String,Map<String,String>>

1.语法: hset key field value 设置key 的 field字段的值
示列: hset person name lisi
hset person address changsha
hset person birthday 1997-10-10

2.语法: hget key field 获取key的field字段的值
示例: hget person name

4.语法: hmset key field1 value1 field2 value2 … 一次设置key的多个字段的值
示例: hmset student name wagnwu age 22 gender man

5.语法: hmget key field1 field2 … 一次获取key的多个字段的值
示例: hmget student name age gender

6.语法: hgetall key 获取key的多个字段的值(包括键和值)
示例: hgetall student

7.语法: hkeys key 获取key的所有字段
示例: hkeys student

8.语法: hvals key 获取key的所有字段的值
示例: hvals student

9.语法: hdel key field1 field2 … 删除key的所有多个字段的值
示例: hvals student

10.语法: hlen key 返回key的所有键值对的个数
示例: hlen student

11.语法: hexists key field 返回key的field字段是否存在
示例: hexists student name

List数据类型

1.语法: lpush key value1 value2… 向key集合的左边一次添加值
示例: lpush ages 22 34 21 45 20

2.语法: rpush key value1 value2… 向key集合的右边一次添加值
示例: rpush names zhangsan lisi wangwu zhaooiu

3.语法: lrange key start stop 取key集合中指定的start位置到stop位置的内容(-1代表集合结束)
示列:lrange ages 0 2
lrange ages 0 -1
lrange ages 0 100

4.语法: llen key 查看key集合的长度
示例: llen ages

5.语法: lpop key 删除key集合的第一个元素
示例: lpop ages

6.语法: rpop key 删除key集合的最后一个元素
示例: rpop ages

7.语法: lindex key index 获取key集合的index索引的元素
示例: lindex ages 2

8.语法: lrem key count value 删除key集合的count个索引的元素(集合中有重复值)
示例: lrem ages 2 45

set数据类型

1.语法: sadd key value1 value2 … 向为key的集合中添加多个值(去重)
示例: sadd empNames zhangsan lisi wangwu zhaoliu lisi

2.语法: smembers key 循环key集合中的所有值
示例: smembers empNames

3.语法: scard key 统计key集合中的元素个数
示例: scard empNames

4.语法: srem key value 删除key集合中的value值
示例: scard empNames lisi

5.语法: spop key 随机删除key集合中的某个值
示例: scard empNames lisi

6.语法: smove source destination member 将集合中的某个值赋给另外一个集合: SMOVE 源集合 目的集合 值
示例: smove empNames works zhangsan

7.语法: Sdiff 集合1 集合2 求差集
示例: sadd seta a b c d e
sadd setb c d e f g
sdiff seta setb
1) “a”
2) “b”
sdiff setb seta
1) “f”
2) “g”

8.语法: sinter 集合1 集合2 求交集
示例: sinter seta setb
1) “d”
2) “c”
3) “e”

9.语法: sunion 集合1 集合2 求并集
示例: sunion seta setb
1) “d”
2) “a”
3) “b”
4) “c”
5) “e”
6) “f”
7) “g”

zset(SortedSet)数据类型

1.语法: zadd key score value … 向为key的集合中添加多个(score-value)
示例: zadd students 1 zhangsan 3 lisi 2 wangwu 5 zhaoliu

2.语法: zrange key start stop [WITHSCORES] 循环key的集合从start位到stop位置的值
示例: zrange students 0 -1
1) “zhangsan”
2) “wangwu”
3) “lisi”
4) “zhaoliu”

3.语法: zrem key value 删除key集合中指定的value元素
示例: zrem students lisi

4.语法: zrevrange key start stop [WITHSCORES] 逆序显示key集合中的元素
示例: zrevrange students 0 -1
zrevrange students 0 -1 withscores

5.语法: zrangebyscore key min max 根据分数区间查询内容
示例:zrangebyscore students 2 5

6.语法: zcard key 统计key集合中有多少个键值对
示例: zcard students

7.语法: zcount key min max 统计key集合中min到max区间元素
示例: zcount students 1 4

8.语法: zrank students wangwu 统计key集合中指定元素索引
示例: zrank students wangwu

9.语法: zscore key value 统计key集合中指定元素的分数
示例: zscore students zhangsan

关于redis的持久化方案

Redis中所有的key和value默认加载到内存中,为了数据的不丢失,把数据进行持久化,通常会把数据落地磁盘。

第一种持久化方案(默认rdb)
In the example below the behaviour will be to save:

after 900 sec (15 min) if at least 1 key changed
after 300 sec (5 min) if at least 10 keys changed
after 60 sec if at least 10000 keys changed

存储不太重要的数据,数据可能会丢失,但效率较高

第二种持久化方案 (aof 快照式)

对数据特别敏感,保证不能丢数据。效率低(增加I/o操作)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值