Redis教程

初入Redis

本文主要是介绍初入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
这篇关于初入Redis的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!