Redis数据库基础操作

MySQL和Redis的区别

"""
redis: 内存数据库(读写快,IO操作少)、非关系型(操作数据方便)
mysql: 硬盘数据库(数据持久化,IO操作多)、关系型(操作数据间关系)

大量访问的临时数据,才有redis数据库更优
"""

redis和memcache的区别

"""
redis: 操作字符串、列表、字典、无序集合、有序集合 | 支持数据持久化(数据丢失可以找回、可以将数据同步给mysql) | 高并发支持
       并且redis数据库中的数据,在电脑重启的之后,数据不会丢失

memcache: 操作字符串 | 不支持数据持久化 | 并发量小
"""

redis操作

"""
基础操作:
    启动服务:redis-server &
    连接数据库:redis-cli
    连接指定数据库:redis-cli -h 127.0.0.1 -p 6379 -n 1
    # redis:默认16个数据库,当不指定数据库的时候,一般会存在第0(1)个数据库中
    # 当指定的数据库,在redis中没有时,默认将数据都放在第0个数据中
    切换数据库:select 1---从当前的数据库切换到另外一个数据库中

数据操作:字符串、列表、字典、无序集合、有序(排序)集合
    有序集合:游戏排行榜
"""

Redis 字符串命令

下表列出了常用的 redis 字符串命令:

序号 命令及描述
1 [**SET key value]** 设置指定 key 的值
2 [GET key] 获取指定 key 的值。
3 [GETRANGE key start end] 返回 key 中字符串值的子字符
4 [GETSET key value] 将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
5 [GETBIT key offset] 对 key 所储存的字符串值,获取指定偏移量上的位(bit)。
6 [**MGET key1 [key2..]**] 获取所有(一个或多个)给定 key 的值。
7 [SETBIT key offset value] 对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
8 [SETEX key seconds value] 将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。
9 [**SETNX key value]** 只有在 key 不存在时设置 key 的值。
10 [SETRANGE key offset value] 用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。
11 [STRLEN key] 返回 key 所储存的字符串值的长度。
12 [**MSET key value [key value ...]**] 同时设置一个或多个 key-value 对。
13 [MSETNX key value [key value ...]] 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
14 [PSETEX key milliseconds value] 这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。
15 [INCR key] 将 key 中储存的数字值增一。
16 [INCRBY key increment] 将 key 所储存的值加上给定的增量值(increment) 。
17 [INCRBYFLOAT key increment] 将 key 所储存的值加上给定的浮点增量值(increment) 。
18 [DECR key] 将 key 中储存的数字值减一。
19 [DECRBY key decrement] key 所储存的值减去给定的减量值(decrement) 。
20 [APPEND key value] 如果 key 已经存在并且是一个字符串, APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾。

Redis 字典命令

下表列出了 redis hash 基本的相关命令:

序号 命令及描述
1 [**HDEL key field1 [field2]**] 删除一个或多个哈希表字段
2 [HEXISTS key field] 查看哈希表 key 中,指定的字段是否存在。
3 [HGET key field] 获取存储在哈希表中指定字段的值。
4 [HGETALL key] 获取在哈希表中指定 key 的所有字段和值
5 [HINCRBY key field increment] 为哈希表 key 中的指定字段的整数值加上增量 increment 。
6 [HINCRBYFLOAT key field increment] 为哈希表 key 中的指定字段的浮点数值加上增量 increment 。
7 [HKEYS key] 获取所有哈希表中的字段
8 [HLEN key] 获取哈希表中字段的数量
9 [HMGET key field1 [field2]] 获取所有给定字段的值
10 [**HMSET key field1 value1 [field2 value2 ]**] 同时将多个 field-value (域-值)对设置到哈希表 key 中。
11 [HSET key field value] 将哈希表 key 中的字段 field 的值设为 value 。
12 [HSETNX key field value] 只有在字段 field 不存在时,设置哈希表字段的值。
13 [HVALS key] 获取哈希表中所有值
14 HSCAN key cursor [MATCH pattern] [COUNT count] 迭代哈希表中的键值对。

Redis 列表命令

下表列出了列表相关的基本命令:

序号 命令及描述
1 [BLPOP key1 [key2 ] timeout] 移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
2 [BRPOP key1 [key2 ] timeout] 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
3 [BRPOPLPUSH source destination timeout] 从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
4 [LINDEX key index] 通过索引获取列表中的元素
5 [LINSERT key BEFORE|AFTER pivot value] 在列表的元素前或者后插入元素
6 [LLEN key] 获取列表长度
7 [LPOP key] 移出并获取列表的第一个元素
8 [**LPUSH key value1 [value2]**] 将一个或多个值插入到列表头部
9 [LPUSHX key value] 将一个值插入到已存在的列表头部
10 [LRANGE key start stop] 获取列表指定范围内的元素
11 [LREM key count value] 移除列表元素
12 [LSET key index value] 通过索引设置列表元素的值
13 [LTRIM key start stop] 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
14 [RPOP key] 移除列表的最后一个元素,返回值为移除的元素。
15 [RPOPLPUSH source destination] 移除列表的最后一个元素,并将该元素添加到另一个列表并返回
16 [**RPUSH key value1 [value2]**] 在列表中添加一个或多个值
17 [RPUSHX key value] 为已存在的列表添加值

Redis 集合命令

下表列出了 Redis 集合基本命令:

序号 命令及描述
1 [**SADD key member1 [member2]**] 向集合添加一个或多个成员
2 [SCARD key] 获取集合的成员数
3 [SDIFF key1 [key2]] 返回给定所有集合的差集
4 [SDIFFSTORE destination key1 [key2]] 返回给定所有集合的差集并存储在 destination 中
5 [SINTER key1 [key2]] 返回给定所有集合的交集
6 [SINTERSTORE destination key1 [key2]] 返回给定所有集合的交集并存储在 destination 中
7 [SISMEMBER key member] 判断 member 元素是否是集合 key 的成员
8 [SMEMBERS key] 返回集合中的所有成员
9 [SMOVE source destination member] 将 member 元素从 source 集合移动到 destination 集合
10 [SPOP key] 移除并返回集合中的一个随机元素
11 [SRANDMEMBER key [count]] 返回集合中一个或多个随机数
12 [SREM key member1 [member2]] 移除集合中一个或多个成员
13 [SUNION key1 [key2]] 返回所有给定集合的并集
14 [SUNIONSTORE destination key1 [key2]] 所有给定集合的并集存储在 destination 集合中
15 [SSCAN key cursor [MATCH pattern] [COUNT count]] 迭代集合中的元素

Redis 有序集合命令

下表列出了 redis 有序集合的基本命令:

序号 命令及描述
1 [**ZADD key score1 member1 [score2 member2]**] 向有序集合添加一个或多个成员,或者更新已存在成员的分数
2 [ZCARD key] 获取有序集合的成员数
3 [ZCOUNT key min max] 计算在有序集合中指定区间分数的成员数
4 [ZINCRBY key increment member] 有序集合中对指定成员的分数加上增量 increment
5 [ZINTERSTORE destination numkeys key [key ...]] 计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中
6 [ZLEXCOUNT key min max] 在有序集合中计算指定字典区间内成员数量
7 [**ZRANGE key start stop [WITHSCORES]**] 通过索引区间返回有序集合指定区间内的成员
8 [ZRANGEBYLEX key min max [LIMIT offset count]] 通过字典区间返回有序集合的成员
9 [ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]] 通过分数返回有序集合指定区间内的成员
10 [ZRANK key member] 返回有序集合中指定成员的索引
11 [ZREM key member [member ...]] 移除有序集合中的一个或多个成员
12 [ZREMRANGEBYLEX key min max] 移除有序集合中给定的字典区间的所有成员
13 [ZREMRANGEBYRANK key start stop] 移除有序集合中给定的排名区间的所有成员
14 [ZREMRANGEBYSCORE key min max] 移除有序集合中给定的分数区间的所有成员
15 [**ZREVRANGE key start stop [WITHSCORES]**] 返回有序集中指定区间内的成员,通过索引,分数从高到低
16 [ZREVRANGEBYSCORE key max min [WITHSCORES]] 返回有序集中指定分数区间内的成员,分数从高到低排序
17 [ZREVRANK key member] 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
18 [ZSCORE key member] 返回有序集中,成员的分数值
19 [ZUNIONSTORE destination numkeys key [key ...]] 计算给定的一个或多个有序集的并集,并存储在新的 key 中
20 [ZSCAN key cursor [MATCH pattern] [COUNT count]] 迭代有序集合中的元素(包括元素成员和元素分值)

更多命令请参考:https://redis.io/commands

原文地址:https://www.cnblogs.com/XuChengNotes/p/12019848.html

时间: 2024-10-10 01:31:59

Redis数据库基础操作的相关文章

SQLSERVER 数据库基础操作

1.修改表中字段的长度,类型为varchar,从30改到50 语句执行(注:当前为30): alter table 表名 alter column 列名 varchar(50) 2.增加字段: alter table 表名 add 字段 varchar(50) SQLSERVER 数据库基础操作,布布扣,bubuko.com

mongo数据库基础操作

概念 一个mongod服务可以有建立多个数据库,每个数据库可以有多张表,这里的表名叫collection,每个collection可以存放多个文档(document),每个文档都以BSON(binary json)的形式存放于硬盘中,因此可以存储比较复杂的数据类型.它是以单文档为单位存储的,你可以任意给一个或一批文档新增或删除字段,而不会对其它文档造成影响,这就是所谓的schema-free,这也是文档型数据库最主要的优点.跟一般的key-value数据库不一样的是,它的value中存储了结构信

边记边学PHP-(十四)MySql数据库基础操作1

提到数据库,相信都不陌生.比较常见的是SQL Server . Oracle.Access.SQLite等等.当然还有PHP的黄金搭档,MySql数据库.当然我所写的都是MySql的一些基础,我还没有深入的学习这个数据库.深入学习还需要一段时间.但是现在学的基础基本满足我现在的学习需要. 一.MySQL简介 1.MySQL是什么 MySQL是一款安全.跨平台.高效的,并与PHP.Java等主流编程语言紧密结合的数据库系统.该数据库系统是由瑞典的MySQL AB公司开发.发布并支持,由MySQL初

关于Redis数据库 ---- 基础篇

Redis数据库也被称为数据结构数据库,因为存储基于key-value模式. 其中,value值可以为字符串(string),哈希(map),列表(list),集合(set)和有序集合(zset). 在redis的安装目录下,有一个文件redis.conf,在该文件下存储了redis的基本配置信息. 通过修改这个文件,再次通过以下命令启动时: redis-server redis.conf-path 会应用配置信息 使用命令: redis-cli 会打开redis客户端 在该客户端中,通过如下命

学习记录04 --- 使用java连接redis数据库进行操作

现在先简单的尝试下java如何连接上redis数据库 首先我们需要一个jedis.jar架包,我下载的是2.9.0的版本 附上下载地址,点击我下载 开始我们的常规操作,打开idea,导入架包,emmmmm,感觉这次会写的特别简短 先导包 import redis.clients.jedis.Jedis; 我们需要连接redis数据库的话,都是依赖于jedis对象而来的,我们先得new出一个jedis对象 //new一个Jedis对象,连接redis数据库 Jedis jedis = new Je

MySQL数据库基础操作语句

SQL语言主要用于存取数据.查询数据.更新数据和管理关系数据库系统,分为3种类型: 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER 2.DML语句 数据库操纵语言: 插入数据INSERT.删除数据DELETE.更新数据UPDATE.查询数据SELECT 3.DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT.REVOKE(取消授权)SQL基础操作语句: 管理员登录:mysql -uroot -p 设置管理员密码:set pa

PHP 数据库基础操作

  计应134(实验班) 郑寿奎 一.启动.连接.断开和停止MySQL服务器 1启动 开始菜单->运行->输入cmd                按回车 在命令提示符下输入:net start mysql               按回车 2连接 在命令提示符下输入:mysql -uroot -h127.0.0.1 -p       按回车 输入密码:123(服务器用户密码)                按回车 3断开 在命令提示符下输入:quit;               按回车

java对redis的基础操作

一.server端安装 1.下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6 下载windows平台文件: 解压后,选择当前64位win7系统对应的版本: 2.安装 1)解压后将里面所有文件拷贝至redis安装目录: 几个exe程序的功能:   redis-benchmark.exe:性能测试,用以模拟同时由N个客户端发送M个 SETs/GETs 查询 (类似于 Apache 的ab 工具). redis-check-aof.e

python---基础知识回顾(八)数据库基础操作(sqlite和mysql)

一:sqlite操作 SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以集成. Python就内置了SQLite3,所以,在Python中使用SQLite,不需要安装任何东西,直接使用. 操作步骤: 1.创建连接(记得导入模块) import sqlite3 conn = sqlite3.connect("test.db") #若是文件不存在会自动创建,路径可