初入Redis

初入Redis

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

基本数据类型

	- String
	- Hash
	- List
	- Set
	- Zset
基本命令
select 1 #选择数据库 16个数据库
DBSIZE #查看数据库大小
keys * #查看所有的键
flushdb #清除当前数据库
flushall #清除全部数据库
Key的基本命令:
set key val
get key
del key
rename key newkey
expire key 10 #10秒过期
exists key #是否存在key
type key #查看类型
ttl key #查看过期时间
String
append key xxx #追加内容
strlen key #查看字符串长度
incr key #自增1
incrby key n #自增n
decr key #自减n
decrby key n #自减n
getrange key start end #获取指定的字符串
setrange key offset xx #替换
setex key 10 val #设置过期时间 
setnx key val #如果不存在就设置
mset mget #批处理 原子性
getset key val #先获取再设置
Hash
hset user name zhangsan #设置
hget user name #获取
hmset user name zhangsan age 15 #批处理
hmget user name age #批处理
hgetall user #获取全部字段
hdel user name #删除某个字段
hexists user age #查看某个字段是否存在
hkeys user #获取全部字段key
hvals user #获取全部字段value
hlen user #获取字段个数

List
lpush #将一个或多个值插入到列表头部
lpop user #弹出并移出
rpush #在列表中添加一个或多个值
rpop #移除列表的最后一个元素,返回值为移除的元素。
lrange 0 -1 #获取全部元素
lrem user 1 zhangsan #删除
lset user 0 "bar"
Set
sadd #向集合添加一个或多个成员
scard key #获取集合的成员数
sismember ket member #判断 member 元素是否是集合 key 的成员
smembers key #返回集合中的所有成员
srem #移除集合中一个或多个成员
spop #移除并返回集合中的一个随机元素
srandmember key [count] #返回集合中一个或多个随机数

Redis 事务

Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证:

  • 批量操作在发送 EXEC 命令前被放入队列缓存。
  • 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。
  • 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。

一个事务从开始到执行会经历以下三个阶段:

  • 开始事务。
  • 命令入队。
  • 执行事务。

它先以 MULTI 开始一个事务, 然后将多个命令入队到事务中, 最后由 EXEC 命令触发事务, 一并执行事务中的所有命令

单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。

事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。

持久化策略

  1. RDB(默认)
  2. AOF
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值