Redis 入门

Redis 入门

Redis 介绍

  • Redis 是Key-Value 型NoSQL数据库
  • Redis 将数据存储在内存中, 同时也能持久化到磁盘
  • Redis 常用于缓存, 利用内存的高效提高程序的处理速度

Redis 特点

  • 速度快
  • 广泛的语言支持
  • 持久化
  • 多种数据结构
  • 主从复制
  • 分布式与高可用 :

Redis 的常用基本配置

配置项示例说明
deamonizedeamonize yes是否启用后台运行, 默认no
portport 6379设置端口号, 默认6379
logfilelogfile 日志文件设置日志文件
databasesdatabases 255设置redis数据库总量
dirdir 数据文件目录设置数据文件存储目录
requirepassrequirepass 12345设置使用密码

Redis 通用命令

命令示例说明
selectselect 0选择0号数据库
setset name jack设置key=name value=jack
getget hello获得key=hello的结果
keyskeys he*根据pattern表达式查询符合条件的key
dbsizedbsize返回key 的总数
existsexists a查看key=a是否存在
deldel a删除key=a的数据
expireexpire hello 20设置key=hello 20s后过期
ttlttl hello查看key=hello的过期剩余时间

Redis 数据类型

  • String - 字符串类型
  • Hash - Hash类型
  • List - 列表类型
  • Set - 集合类型
  • Zset - 有序集合类型

String 字符串类型

String最大512MB, 建议单个k, v不超过100kb

字符串命令:
命令示例说明
getget hello获得key=hello的结果
setset hello world设置key=hello, value=world
mset
mget
mset hello world java best
mget hello java
一次性设置或者获取多个值
deldel hello删除key=hello
incr/decrincr count
decr count
key对应的value自增/自减1
incrby/decrbyincrby count 99
decrby count 99
自增自减指定步长

Hash 键值类型

  • Hash类型用于存储结构化数据
Hash 类型常用命令
命令示例说明
hgethget emp:1 age获取hash中key=age的值
hsethset emp:1 age 23设置hash中age=23
hmset
hmget
hgetall
hmset emp:1 age 30 name kaka
hmget emp:1 age name
hgetall emp:1
设置hash多个值
获取hash多个值
获取hash所有值
hdelhdel emp:1 age
hdel emp:1
删除emp:1的age
删除key=emp:1
hexistshexists emp:1 name检查是否存在
hlenhlen emp:1获取emp:1中有几个属性

List列表类型

  • List列表就是一系列字符串的"数组", 按插入顺序排序(数组中的元素必须是字符串类型)
  • List列表最大长度为2的32次方-1, 可以包含40亿个元素
List 命令
  • rpush listkey c b a - 右侧(数组尾部)插入 r - right, c b a 这些元素都是字符串, listkey 是key的名字, 返回的是当前列表的元素总数
  • lpush listkey f e d - 左侧(数组头部)插入 l - left
  • rpop listkey - 右侧(数组尾部)弹出
  • lpop listkey - 左侧(数组头部)弹出
  • lrange listkey 0 10 - 将listkey列表中从第一个元素到第11个元素显示, 其中在end的位置
命令示例说明
lrangelrange [listname] [start] [end]将[listname]列表中从第start+1个元素到第end+1个元素显示, 其中在end的位置如果写-1, 代表末尾

Set 与 Zset 集合类型

  • Set集合是字符串的无序集合, 集合成员是唯一的
  • Zset集合是字符串的有序集合, 集合成员是唯一的
Set 命令
命令示例说明
saddsadd setname member
sadd set1 a
创建一个集合, 集合名为set1, 成员为"a", 成员必须是字符串
smemberssmembers keyname
smembers set1
查看集合的所有成员
sintersinter set1 set2交集, 把set1集合和set2集合中同时出现的成员列出来
sunionsunion set1 set2并集, 合并两个集合
sdiffsdiff set1 set2差集, 在set1中有, 在set2中没有的成员
Zset 命令
命令示例说明
zaddsadd zsetname member
sadd zset1 100 a
sadd zset1 101 b
创建一个集合, 集合名为zset1, 成员为"a", 成员必须是字符串, 默认情况下zset安装分数增序排列
zrangezrange zset1 0 -1输出指定范围的元素
zrangebyscorezrangebyscore zset1 100 103输出分数指定范围的元素

Java客户端-Jedis

  • Jedis 是Java语言开发的Redis客户端工具包
  • Jedis只是对Redis命令的封装, 掌握Redis命令便可轻易上手
  • 通过对象json序列化存入Redis, 从Redis中查询后反序列化为Java对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值