第十四章 Redis

NOSQL= Not Only SQL

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

可视化客户端:
https://github.com/uglide/RedisDesktopManager

  1. Redis 指令

通过help命令可以让我们查看Redis的指令帮助,在help后面加上空格,然后按tab键,会看到 重用的命令组
主要包含:
@generic : 通用指令
@string : 字符串类型指令
@list : 队列结构指令
@set :set 结构指令
@sorted_set :也排序的set结构指令
@hash : hash结构指令

除了@generic以外的,对应了Redis中常用的5中数据类型:
String : 等同于java中的,Map<String,String>
list :等同于java中的 Map<String,List>
set : 等同于java中的 Map<String,Set>
sort_set: 可排序的set
hash: 等同于java中的: Map<String,Map<String,String>>
可见,Redis中存储的数据结构都是类似java的map类型,Redis不同数据类型,只是“map”的值的类型不同。

  1. 1 通用指令
    keys

获取符合规则的键值列表。
语法: keys pattern
示例: keys * (查询所有的键)
非常损耗性能,会导致所有用到redis的服务全部停止,所以可以修改配置类 rename-command 来重新命名keys 命令
生产环境一定要禁用keys

exists
如果存在返回1,不存在返回0
语法: EXISTS key

del
删除key,可以删除一个或者多个key, 返回删除个数

select
选择不同的库
一般默认有16个库,select 选择不同的库,在生产环境中会做集群,所以要修改配置的database 改成1

expire
语法:
EXPIRE key seconds

作用: 设置key的过期时间,超过时间后清除
返回值:
如果成功设置过期时间,返回1
如果key不存在或者不能设置过期时间,返回0

TTL
查看一个key的过期时间
语法: TTL key
返回值:
返回剩余的过期时间
-1: 永不过期
-2: 已经过期或不存在

persist
语法:
persist key
作用:
+++
命令用于移除给定 key 的过期时间,使得 key 永不过期
返回值:
当生存时间移除成功时,返回1
如果 key 不存在或 key 没有设置过期时间,返回 0

1.2 字符串指令
字符串结构,其实时Redis中最基础的K-V结构,其键和值都是字符串,类似Java的Map<String,String>

字符串类型时Redis中最基本的数据类型,它能存储任何形式的字符串,包括二进制数据。
可以存储JSON化的对象,字节数组等,一个字符串类型键允许存储的数据最大容量是512M

常用指令:
SET key value 设置指定key的值
GET key 获取指定key的值
GETRANGE key start end 返回key中字符串的值
INCR key 将key 中储存的数字值增一
DECR key 为键key 储存的数字值减去一
DECRBY key decrement 将键key 储存的整数值减去减量 decrement
APPEND key value 命令用于为指定的 key 追加值
STRLEN key key命令用于返回字符串key(键)值的长度
MGET key1 key2 … 获取所有(一个或者多个)指定的key的value
MSET key value key value… 同时设置一个或者多个key-value对

1.3 hash结构命令
Redis的Hash结构类似于Java中的Map<String,Map<String,String>>, 键是字符串,值是另一个映射,结构如图:

常用命令
HSET 设置指定key的值
HGET 获取指定key的值
HGETALL 获取所有的key的value
HKEYS key 获取指定建的字段
HVALS 获取指定键的所有字段

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值