10 Redis

Posted _笑着回眸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10 Redis相关的知识,希望对你有一定的参考价值。

1 Redis介绍

1.1 Redis是什么?

Redis(Remote Dictionary Server),即远程字典服务。key—value存储系统,是跨平台的非关系型数据库

● Redis是一个开源的使用ANSI C语言编写、遵循BSD协议、支持网络、可基于内存分布式可选持久性键值对(Key—Value)存储数据库,并提供多种语言的API。

● Redis通常称为数据结构服务器,因为值(value)可以是如下八种数据类型

  •  字符串(String)、哈希(Hash)、列表(list)、集合(set)、有序集合(sorted set)、位图(Bitmaps)、HyperLogLog、地理空间(Geospatial)。

1.2 Redis的特点

① 速度快

② 基于键值对数据模型

③ 功能丰富

④ 简单稳定

⑤ 客户端语言多

⑥ 持久化

⑦ 高可用

1.3 Redis的使用场景

● 当作高性能的缓存

● 分布式锁

● 计数器

● 最新列表

● 排行榜


 

2 Redis的安装部署及简单的使用

2.1 安装部署

2.2 Redis的简单使用

2.2.1 Redis服务启动

说明 指令
启动redis服务(挂在前台) bin/redis-server ./redis.conf
改redis.conf文件(挂在后台) daemonize yes
用端口,查看redis服务 netstat -nltp | grep 6379
ps命令,查看redis程序 ps -ef | grep redis

2.2.2 Redis服务停止

说明 指令
查看redis端口号 nerstat -nltp | grep 6379
杀掉redis进程 kill -9 端口号
客户端关闭 shutdown

2.2.3 Redis的客户端连接

说明 指令
连接redis服务 bin/redis-cli -p 6379
  -p参数可以指定连接端口,不带-p默认连接6379
该bind参数(绑定到hadoop102映射地址) bin hadoop102
连接redis服务 bin/redis-cli -h hadoop102 -p 6379

2.2.4 Redis的路径配置

● 在redis根目录下,创建一个文件夹名为dataDir,并在配置文件中配置

[atguigu@hadoop102 redis]$ vim redis.conf
……
dir /opt/module/redis/dataDir

2.2.5 Redis的基本操作

在配置文件redis.conf中:databases 16

● 参数是16,当前Redis示例有16个数据库,

● dbid范围 [0,database-1]

1) 数据库相关操作

命令 说明 示例
select <dbid> 切换数据库 select 7
dbsize 查看数据库中数据个数 dbsize
flushdb 清空当前库 flushdb
flushall 通杀全部库 flushall

注意:

不同的命令采用Integers类型返回值含义不同

dbsize命令,属于Integers类型返回值

INCR命令采用整型回复作为返回值,并没有特殊意义,仅仅是INCR的UNIX时间的增加数值

EXISTS命令,将通过返回值为1表示true,0表示false

2) key相关操作

● Redis中的数据存储方式:键值对KeyValue

key—字符串类型         value—支持多种数据类型

创建键值对

hadoop102:6379> set zs 18
OK
hadoop102:6379> set ls 19
OK
hadoop102:6379> set ww 20
OK

相关操作

表达式 描述 示例
key pattern 查询key,*是全部,?是任意一个字符 keys *     /       key w*
type key 查看key对应值的类型 type zs
exists key 指定的key是否存在,0不存在,1存在 exists ls
del key 删除指定的key,成功返回1,不成功返回01 del ww
randomkey 随机返回一个key randomkey
expire key second 为键值设置过期时间,单位:秒 expire zs 20
ttl key 查看key还有多久过期,-1永不过期,-2已过期 ttl zs
rename key newkey 重命名key,若newkey已存在,值将会被覆盖 rename ww lw
renamenx key newkey newkey存在,才能执行成功 renamenx zz xx

 

3 Redis 的数据类型

3.1 String(字符串)

介绍

String是Redis最基本的类型,一个key对应一个value。

String类型是二进制安全的。Redis的String可以包含任何数据。比如jpg图片或者序列化的对象。

String类型的值最大能存储512MB

基本操作

表达式 描述 示例
set key value 将字符串value关联到key set k1 v1
EX 设置键值对,过期时间20秒 set k1 v1 EX 20
PX 设置键值对,过期时间20000毫秒 set k2 v2 PX 20
ptt 查看毫秒级,过期剩余时间 pttl k2
NX 键不存在时,设置键值 set k1 v1 NX
XX 键存在时,设置键值 set k2 v2 XX
setex key seconds value 设置带有过期时间的键值对 setex k4 20 v4
setnx key value key不存在时,可设置value setnx k1 v11
setrange key offset value 用新值复写,用偏移量开始 setrange k1 3 abcde
注意:原字符长度不够时“填零占位”——>"\\x00"
mset [key value ... ] 添加多个键值对 mset k2 v2 k3 v3
mget key1 key2 ... 同时获取多个键的值 mget k1 k2
msetnx [key value ... ] k1不存在,设置多对键值对,k1存在则失败 msetnx k1 v1 k2 v1 k3 v3
get key 返回key关联的字符串值 get k1
getset key value 对给定的key赋值,同时获取旧值 getset k2 v22
getrange key start end 返回子字符串,-1最后一个字符,-2倒数第2个 getrange k4 0 -1
用””号将多个单词作为一个值存储
当指定的获取值域大于实际字符串的值域,超出的部分会自动忽略
incr key 将key中存储的数字值+1 incr k1
incrby key increment 对key的值增加指定增量 inctby k1 10
decr key 将key中存储的数字值-1 decr k2
decrby key decrement 对key的值增加指定减量 decrby k2 10

 

以上是关于10 Redis的主要内容,如果未能解决你的问题,请参考以下文章

jedis连接redis

高效Web开发的10个jQuery代码片段

高效Web开发的10个jQuery代码片段

C#程序员经常用到的10个实用代码片段 - 操作系统

C#程序员经常用到的10个实用代码片段

;~ 小部分AutoHotkey源代码片段测试模板2019年10月9日.ahk