(一)Redis——五大数据类型及基础知识

	 一位爱好技术的橘右京的哥哥橘左京

Redis

Redis是基于内存以key-value形式存储的非关系数据库,value支持String、list、set、zset、hash多种数据类型,字符串value最大为512MB,每一种数据类型都提供了不同的方法。具有持久化、过期时间、事务、哨兵等功能。

1.Redis命令

通用

1)keys * / keys XX*:查询所有key 或 匹配某前缀
2)flushall:清空所有key
3)clear:dos窗口清屏

1.1 常用String命令

1)mset:批量新增
2)mget:批量获取
3)append:字符串拼接
append key ‘XXX’

4)getrange:指定区间截取并获取 -1代表到最后

getrange key 0 5

5)setrange:指定索引替换值

setrange key 0 ‘J’

6)strlen:获取长度,中文字符会根据编码影响长度,单个字UTF-8占3个,GBK占两个

strlen key

7)NX/XX:

set key value NX|XX
①NX命令是当key不存在时,set才可生效;
②XX命令是当key存在时,set才可生效;

1.2 常用List命令

1)lpush/rpush:将value从左/从右依次写入

lpush key value1 value2 value3

2)lpop/rpop:将value从左/从右依次取出并删除元素

lpop key

3)lrange:将list值按照索引值顺序取(支持正反向索引)

lrange key 0 -1

4)lindex:将list值按照索引取值

lindex key -1

5)lset:替换list某索引的value(支持正反向索引)

lset key 索引值 value

6)linsert:在list的某个元素之前/之后插入元素

linsert key before/after pivot value

7)lrem:按次序删除list中几个名为XX的元素(支持正反向索引)

lrem key count value

8)ltrim:删除不在指定区间内的数据

ltrim key 1 -2

1.3 常用Hash命令

1)hset:单个写入数据

hset key name value

2)hget:单个获取数据

hget key name

3)hkeys:获取Key下Hash中所有的Key

hkeys key

4)hvals:获取Key下Hash中所有的Value

hvals key

5)hgetAll:获取Key下Hsah中所有Key Value

hgetAll key

6)hmset:批量写入数据

hmset key name1 value1 name2 value2 name3 value3

7)hmget:批量获取数据

hmget key name1 name2 name3

8)hincrby / hincrbyfloat:对Hash中数值类型Value执行计算

hincrbyfloat key field 值

1.4 常用Set命令

1)sadd:写入数据

sadd key value1 value2 value3

2)smembers:获取元素

smembers key

3)sinter:获取多个集合的交集

sinter key1 key2

4)sinterstore:获取多个集合的交集并赋值给一个key

sinterstore destination key1 key2

5)sunion:获取并集

sunion key1 key2

6)sdiff:获取差集

sdiff key1 key2

7)srandmember:随机获取集合中的元素

srandmember key count
①count为正数,取出元素若超出集合元素数量,不可重复取值,最多取出集合最大个数
②count为负数,取出元素若超出集合元素数量,可重复取值

8)spop:取出一个值并删除

hincrbyfloat key field

9)spop:取出一个值并删除

hincrbyfloat key field 值

1.5 常用Sorted set命令

1)zadd:写入数据

zadd key score1 value1 score2 value2

2)zrange:获取member / 获取score及member

zrange key 起始索引 结束索引
zrange key 起始索引 结束索引 withscores

3)zrevrange:倒叙获取member / 倒叙获取socre及member

zrevrange key 起始索引 结束索引
zrevrange key 起始索引 结束索引 withscores

4)zrangbyscore:根据socre获取起止分数内的member/score及member

zrangebyscore key 19 22
zrangebyscore key 19 22 withscores

5)zsore:根据member取出socre

zscore key member

6)zrank:根据member获取排名

zrank key member

7)zincrby:针对socre计算

zincrby key increment member

8)zunionstore:求多个key并集

zunionstore destination numkey key1 key2 :重复的member的score值相加
zunionstore destination numkey key1 key2 weights 1 0.5:赋0.5权重的key中score值/2操作,再与重复的相加
zunionstore destination numkey key1 key2 aggregate max:求并集并且取score最大值

总结

Redis提供了五大数据类型,解决了不同场景下数据的存储,在开发中要利用合理利用不同的数据格式,能够最大程度上节省内存空间,提升效率,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值