Java进阶(redis的使用)-基础篇

本文详细介绍了Redis的基础使用,包括String、List、Set、Hash、Zset等数据结构的操作,如字符串截取、列表推入、集合交并差、有序集合排序等。此外,还涉及了Redis的Geospatial地理位置查询、Hyperloglog基数估算和Bitmaps位操作等功能,是Java开发者学习Redis的重要参考资料。
摘要由CSDN通过智能技术生成

目录

0.redis入门

 1.String(字符串)操作

1.1常规字符串操作

 1.2.数字型字符串

1.3字符串截取和替换range

 1.4.同时设置多个key

2.List(列表)操作

2.1.list基本操作

2.2.   list复杂操作

 2.3.list小结​

3.Set(集合) 操作

3.1.set基本操作

 3.2 .set复杂操作

4. Hash(哈希)操作

  4.1.hash 基础操作

3.2. hash进阶操作

5. Zset(有序集合)操作

5.1.Zset基本操作

5.2.zset 复杂操作(排序)

附:redis小知识

6.Geospatial(地理位置)操作

 7.Hyperloglog(基数)操作

8.Bitmaps(打卡)操作


0.redis入门

SELECT 选择redis数据库

DBSIZE   查看redis数据库大小

key   *     查看redis数据库所有的key

flushdb   清空当前数据库

 

 

 

 

 

 

 1.String(字符串)操作

1.1常规字符串操作

 set   (key)    (value)     存入字符串

get   (key)                     获得字符串

exists (key)              判断1个key是否存在(0-不存在,1-存在)

append  (key)   (value)     给1个key追加字符串,若这个key不存在,就新建这个key,并赋值

strlen  (key)                     获取1个key的长度

 1.2.数字型字符串

set  (key)   (数字)  定义数字性字符串

get  (key)        获得数字型字符串

incr   (key)(n)      将数字型字符串数字加n,默认为1

decr  (key)  (n)     将数字型字符串数字减n,默认为1

 

 

1.3字符串截取和替换range

getrange (key)    (start)   (end)          截取字符串0开头,若end=-1就是截取全部

setrange  (key)  (start)   (value)        替换指定位置开始的字符串

setex   (key) (time)  (value)         设置key的过期时间,过期后key就会消亡

setnx      (key)(value)        创建key前判断是否存在该key,若存在就创建失败

ttl  (key)                                     查看key的剩余过期时间

 

 1.4.同时设置多个key
 

     mset  (key1) (value1)   (key2) (value2)......          同时设置多个key

       mget   (key1)  (key2)......                                                        同时得到多个key

       msetnx  (key1) (value1)   (key2) (value2)......       同时设置多个key,判断是否存在,具有原子性,要么同时成功,要么同时失败。

1.5.json字符串和getset

set  (对象):(id):(value)          json存入

getset     (key)  (value)    先获得key的值再修改,不存在返回null

 

2.List(列表)操作

2.1.list基本操作

lpush  (key)   (values)     将一个值或多个值插入到列表头部left

rpush  (key)   (values)     将一个值或多个值插入到列表尾部right

lrange (key)  (start)  (end)   获取list的值  (-1输出全部)

Lpop  (key)  移除list的第一个元素

rpop   (key)  移除list的最后一个元素

lindex  (key)  (index)   获取index位置的元素

Llen (key)      获得list的长度

 

2.2.   list复杂操作

  lrem  (key)  (number)   (value)    移除list集合中指定个数的value

  ltrim (key)   (start)  (end)   截取部分list

rpoplpush  (key1)   (key2)     移除列表最后一个元素,加入到一个新list中

lset (key)  (index)  (value)    跟新index位置的值

linsert (key)  before   (value1)  (value2)   在value1的前面插入value2

linsert (key)  after   (value1) (value2)    在value1的后面插入value2

 

 

 2.3.list小结

3.Set(集合) 操作

3.1.set基本操作

sadd  (key)   (value)   向set中添加元素

smnembers  (key)   查看set中全部元素

sismember  (key)  (value)  判断一个set是否含有该元素

scard  (key)   获取set元素个数

srem  (key)  (value)    移除set中指定元素

 

 3.2 .set复杂操作

 srandmember  (key)   (N)  随机选择n个元素,默认1个

spop    (key)       随机删除元素

smove  (key1)  (key2)  (value)  将key1中的一个值拿到key2

sdiff   (key1)   (key2)   两个set的差集

sinter  (key1)   (key2)   两个set的交集

sunion  (key1)   (key2)   两个set的并集

4. Hash(哈希)操作

  4.1.hash 基础操作

   hset  (key)  (键1) (值1)(键2) (值2).....   将多个键值对插入到hash

   hget   (key)  (键1) (键2)                        获得hash键的值

  hgetall  (key)                                      获得hash全部的键值对

 hdel  (key)   (键)       删除hash 某个键值对

  hlen    (key)               获得hash键值对的个数

 hexists  (key)  (键)    判断hsah 是否存在某个键值对

hkeys  (key)         获得hash全部的键

hvals    (key)        获得hash全部的值

 

3.2. hash进阶操作

hset  (key)  (键)  (n)   将键的值增加n

hincrby  (key)    (键)   (n)   将键的值减少n

hsetnx  (key)   (键) (value)    存在这个key则不能插入,安全

 

 

 

5. Zset(有序集合)操作

5.1.Zset基本操作

zadd  (key)    (index1)      (value1) (index2)  (value2)....         在zset中添加值

zrange  (key)  (start)  (end)           显示zset的值

zrem   (key)  (value)     移除zset中的值

zcard   (key)      获得zset元素的个数

zcount   (key)   (start)   (end)   统计zset某个区间的元素个数

5.2.zset 复杂操作(排序)

 zrangebyscore   key    (min)   (max)    (withscore)      从小到大排序输出元素和 index

附:redis小知识

 

6.Geospatial(地理位置)操作

城市经纬度查询:http://www.jsons.cn

  官方文档:https://www.redis.net.cn/order/3685.html

  代码: 

         geoAdd  (key)    (经度)  (维度)  (value)    添加城市

         geopos   (key)   (value)                                   获得城市经纬度

        georadius   (key)  (经度)(维度)  (距离)  (withdist)      获得某个地点附近的城市和距离

      georadiusbymember   (key)  (value)  (距离)    获得某个地点附近的城市和距离

      geohash    (key) (value1) (value2)     判断两个城市的距离,字符串越相似,越近

 

 

 

 

 

 

 7.Hyperloglog(基数)操作

从一组数据中挑选不重复的数据

代码:   

   pfadd (key)  (values)......         创建一组元素

       pfcound   (key)                  统计未重复的元素

       pfmerge    (key3)    (key1)   (key2)          将后面两组元素合并成前面的一组新元素

 

8.Bitmaps(打卡)操作

 位存储:要么0,要么1

作用:统计有多少个0,或则多少个1,判断莫一天是0还是1

代码:       

 setbit  (key)   (m)   (0/1)            设置莫一天的状态

        getbit    (key)    (m)                       获得某一天的状态

        bitcount   (key)                                 统计状态为1的天数

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值