网站首页 > 基础教程 正文
配置依赖
添加redis和junit的依赖.
编写测试代码
通过连接池获取jedis连接
Redis的数据结构 五种数据类型
字符串(String)
字符串列表(list)
有序字符串集合(sorted set)
哈希(hash)
字符串集合(set)
Key定义的注意点
不要过长
不要过短
统一的命名规范
存储String
二进制安全的,存入和获取的数据相同
Value最多可以容纳的数据长度是512M
存储String常用命令
赋值
删除
取值
数值增减
扩展命令
存储String常用命令 赋值
set company name
getset company name2
先取值后修改
存储String常用命令 取值
get company
getset company name2
先取值后修改
存储String常用命令 删除
del person
存储String常用命令 数值增减
incr num
如果num不存在则先设置为0,再递增num的值
decr num
如果num不存在则先设置为0,再递减num的值
incrby num 4
如果num不存在则先设置为0,再递增num的值(+4)
decrby num 3
如果num不存在则先设置为0,再递减num的值(-3)
存储String常用命令 字符串拼接
append company 'ss'
如果company不存在,则设置为'',然后再拼接上'ss'
存储Hash
String Key和String Value的map容器
每一个Hash可以存储4294967295个键值对
存储Hash常用命令
赋值 取值 删除 增加数字 自学命令
存储Hash常用命令 赋值
hset myhash username jack
hmset myhash2 username rose age 21
一次性设置多个键值对
存储Hash常用命令 取值
hget myhash username
hmget myhash username age
一次性获取多个
hgetall myhash
获取全部
hkeys myhash
获取所有的键
hvals myhash
获取所有值
存储Hash常用命令 删除
hdel myhash2 username age
删除多个键值对
存储Hash常用命令 递增
hincrby myhash age 5
递增myhash中age
存储Hash常用命令 判断
hexists myhash username
判断是否存在username键值对
hlen myhash
键值对长度
存储list
如果list中没有元素,则该list会被删除
ArrayList使用数组方式
LinkedList使用双向链表方式
双向链表中增加数据
双向链表中删除数据
存储list常用命令
两端添加 查看列表 两端弹出 获取列表元素个数 扩展命令
存储list常用命令 两端添加
lpush mylist a b c
左端添加a b c,如果mylist不存在则先创建
rpush mylist 1 2 4
右端添加1 2 4,如果mylist不存在则先创建
lpushx mylist x
左端插入x,如果mylist存在的话
rpushx mylist y
右端插入y,如果mylist存在的话
存储list常用命令 两端弹出
lpop mylist
左端弹出
rpop mylist
右端弹出
存储list常用命令 查看列表元素
lrange mylist 0 -1
0 开始元素
-1 结束元素
如果有如下元素:
1 2 3 4 5 6
则相应的index为:
1 2 3 4 5 6
如果用负数表示,则
-6 -5 -4 -3 -2 -1
存储list常用命令 查看列表元素的个数
llen mylist
存储list常用命令 删除元素
lrem mylist3 2 3
2:表示删除多少个
3:表示删除什么元素
删除mylist3中2个3
lrem mylist3 -2 3
从尾开始删除2个3
lrem mylist3 0 2
如果是0则删除所有
删除mylist3中所有的2
存储list常用命令 修改某个元素
lset mylist 2 mmm
修改第二个元素为mmm
存储list常用命令 在某个元素之前或之后插入元素
linsert mylist4 before b 11
linsert mylist4 after b 22
存储list常用命令 某个列表的头部弹出的元素加到另一个list的尾部
rpoplpush mylist5 mylist6
使用场景
存储Set
和List类型不同的是,Set集合中不允许出现重复的元素
Set可包含的最大元素数量是4294967295
存储set常用命令 添加元素
sadd myset a b c
存储set常用命令 删除元素
srem myset 2 3
删除2,3
存储set常用命令 查看所有的元素
smembers myset
存储set常用命令 判断元素是否在set中
sismember myset a
存储set常用命令 差集 交集 并集
差集
sdiff mya1 myb1
交集
sinter mya1 myb1
并集
sunion mya1 myb1
存储set常用命令 获取集合的元素
scard myset
存储set常用命令 随机获取一个元素
srandmember myset
存储set常用命令 把两个set的差集存储到另一个集合中
sdiffstore my1 mya1 myb1
mya1和myb1的差集存储到my1中
同理:
sinterstore my2 mya1 myb1
sunionstore my2 mya1 myb1
存储set使用场景
存储Sorted-set
Sorted-set有一个分数与之关联,分数是可以重复
说是有序,还以为是按照插入的顺序排序,其实不是的,是按照分数排序.
Sorted-set中的成员在集合中的位置是有序的.
存储Sorted-set 常用命令 添加元素
zadd mysort 70 zs 80 ls 90 ww
存储Sorted-set 常用命令 获取某个key的分数
zscore mysort zs
存储Sorted-set 常用命令 获取set的个数
zcard mysort
某个分数范围内的元素个数
zcount mysort 80 90
存储Sorted-set 删除元素
zrem mysort tom ww
按照范围删除
zremrangebyrank mysort 0 4
因为是有顺序的,所以按照index删除
按照分数删除
zremrangebyscore mysort 80 100
存储Sorted-set 查看元素
zrange mysort 0 -1
包括分数
zrange mysort 0 -1 withscores
反序查看
zrevrange mysort 0 -1 withscores
按照分数查看
zrangebyscore mysort 0 100
zrangebyscore mysort 0 100 withscores
limit 开始的元素的index 多少个
zrangebyscore mysort 0 100 withscores limit 0 1
存储Sorted-set 给某个key的分数增加
zincrby mysort 3 ls
例子中是增加3
- 上一篇: 一文搞定Redis五大数据类型及应用场景
- 下一篇: 二、redis 数据类型 redis中数据类型
猜你喜欢
- 2024-10-12 Java开发你知道这些API事半功倍Redis必知必会的API
- 2024-10-12 关于Redis的知识点,你都学会了吗?
- 2024-10-12 「干货」Java后端开发高频面试题 java后端开发面试自我介绍
- 2024-10-12 redis常用命令总结(下) redis基本操作命令
- 2024-10-12 Redis常用简明命令 redis的命令大全
- 2024-10-12 Redis有序集合详解 redis在的有序集合中在数据量极少的情况下使用
- 2024-10-12 高性能的key-value数据库-Redis基本使用
- 2024-10-12 一、Redis基础和应用篇 redis相关知识
- 2024-10-12 NoSQL学习:初学Redis之Redis的数据模型
- 2024-10-12 一文掌握Redis常用API redis常用命令及详解
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)