经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Redis » 查看文章
Redis入门及常用命令学习
来源:cnblogs  作者:kangyz  时间:2021/12/20 15:45:28  对本文有异议

Redis简介

Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

下载安装Redis5.0.X

以Ubuntu20.4为例

运行安装命令

  1. sudo apt-get install redis-server

Redis配置文件

以Ubuntu20.4为例

  1. sudo vim /etc/redis/redis.conf

Redis操作相关命令

部分命令可直接通过键盘Tab键补全

  1. # 卸载命令
  2. sudo apt-get purge --auto-remove redis-server
  3. # 关闭命令
  4. sudo service redis-server stop
  5. # 开启命令
  6. sudo service redis-server start
  7. # 重启命令
  8. sudo service redis-server restart
  9. # Redis命令行客户端
  10. redis-cli
  11. # Redis服务器
  12. redis-server
  13. # Redis性能测试工具
  14. redis-benchmark
  15. # AOF文件修复工具
  16. redis-check-aof
  17. # RDB文件检查工具
  18. redis-check-rdb

Redis五种数据类型

类型 描述
string 字符串类型
hash 散列类型
list 列表类型
set 集合类型
zset 有序集合类型

Redis通用命令

  1. 获取符合规则的键名列表
  1. keys [pattern] # pattern支持glob风格通配符格式
符号 含义
? 匹配一个字符
* 匹配任意个字符
[] 匹配范围内字符,如a[b-d]可以匹配“ab”、“ac”、“ad”
\ 匹配需要转义字符
  1. 判断键是否存在
  1. exists key # 如果键存在则返回整型1,反之返回0
  1. 删除键
  1. del key [key ...] # 支持批量删除,返回值为删除键的个数
  1. 获取键值的数据类型
  1. type key
  1. 获取键的总数
  1. dbsize
  1. 设置键过期时间
  1. expire key seconds # key在seconds秒后过期
  1. 查询当前键的剩余时间
  1. ttl key # 查询key在多少秒后过期
  2. # 如果返回值为-1,则代表key存在且没有设置过期时间
  3. # 如果返回值为-2,则代表key已不存在
  1. 删除键的过期时间
  1. persist key
  1. 清空所有数据库数据
  1. flushall
  1. 清空当前数据库数据
  1. flushdb
  1. 切换到指定数据库
  1. select index # 默认使用0号数据库

Redis数据类型入门

String(字符串类型)常用命令

string可以存储任何形式的字符串,包括二进制数据。

  1. 获取键对应的值
  1. get key # 当键不存在时会返回空(nil)
  1. 设置键值对
  1. set key value
  2. setnx key value # 键不存在时才设置
  3. set key value xx # 键存在时才设置(属更新操作)
  1. 递增/递减数字
  1. incr key # 使当前键自增1,并返回自增后的值
  2. decr key # 使当前键自减1,并返回自减后的值
  3. incrby key num # 使当前键自增num
  4. decrby key num # 使当前键自减num
  1. 获取字符串长度
  1. strlen key # 返回键的长度,不存在则返回0
  1. 向尾部追加值
  1. append key value # 如果键不存在则设置新的键值,返回值为总长度
  1. 批量获取/设置多个键值
  1. mget key [key ...] # 获取
  2. mset key1 value1 key2 value2 ... # 新增
  1. 获取字符串指定下标的值
  1. getrange key start end
  1. 设置字符串指定下标的值
  1. setrange key index value

Hash(散列类型)常用命令

hash 是一个 string 类型的 field(字段)和 value(值)的映射表,适合用于存储对象。

  1. 获取散列属性对应的值
  1. # 获取单个属性对应的值
  2. hget key field
  3. # 获取多个属性对应的值
  4. hmget key field [field ...]
  5. # 获取散列所有属性与值
  6. hgetall key
  7. # 获取散列所以属性对应的值
  8. hvals key
  9. # 获取散列键对应的所有属性
  10. hkeys key
  1. 设置散列
  1. # 设置单个散列
  2. hset key field value
  3. # 设置散列属性,如果属性已存在,则设置失败
  4. hsetnx key field value
  5. # 设置散列多个属性值
  6. hmset key field1 value1 field2 value2 ...
  1. 删除散列属性
  1. hdel key field
  1. 判断散列的键是否存在某一属性
  1. hexists key value
  1. 获取散列属性数量
  1. hlen key

List(列表类型)常用命令

  1. 设置列表
  1. # 从列表右侧插入值
  2. rpush key value1 value2 ...
  3. # 从列表左侧插入值
  4. lpush key value1 value2 ...
  5. # 在列表指定值的前/后插入新值
  6. linsert key before|after value newValue
  1. 删除列表指定值
  1. # 从列表左侧删除一个元素
  2. lpop key
  3. # 从列表右侧删除一个元素
  4. rpop key
  5. # 根据count值删除所有相同值的元素
  6. # (1)count>0,从左到右,删除最多count个value相等的项
  7. # (2)count<0,从右到左,删除最多Math.abs(count)个value相等的项
  8. # (3)count=0,删除所有value相等的项
  9. lrem key count value
  10. # 根据索引范围修改列表
  11. ltrim key start end
  1. 获取列表值
  1. # 获取列表指定索引范围内所有元素
  2. # start与end为闭区间
  3. lrange key start end
  4. # 获取列表指定索引的元素
  5. lindex key index
  6. # 获取列表长度
  7. llen key
  1. 修改列表中的值
  1. # 设置列表指定索引对应的值为newValue
  2. lset key index newValue

Set(集合类型)常用命令

  1. 设置集合
  1. # 向集合键中添加元素,如果元素存在,则添加失败
  2. sadd key element
  1. 删除集合中指定元素
  1. # 删除集合中指定的元素
  2. srem key element
  3. # 从集合中随机删除count个元素
  4. # 移除后会返回移除的元素
  5. spop key [count]
  1. 获取集合指定值
  1. # 获取集合的数量
  2. scard key
  3. # 判断元素是否存在
  4. sismember key element
  5. # 从集合中随机获取count个元素
  6. srandmember key [count]
  1. 集合间的交差并操作
  1. # 获取集合间的差集
  2. sdiff key1 key2 ...
  3. # 获取集合间的交集
  4. sinter key1 key2 ...
  5. # 获取集合间的并集
  6. sunion key1 key2 ...

Zset(有序集合类型)常用命令

  1. 设置有序集合
  1. zadd key score element
  1. 删除有序集合中指定元素
  1. zrem key element
  2. # 删除指定排名内的升序元素
  3. zremrangebyrank key start end
  4. # 删除指定分数内的升序元素
  5. zremrangebyscore key minScore maxScore
  1. 获取有序集合指定值
  1. # 获取元素的分数
  2. zscore key element
  3. # 获取元素总个数
  4. zcard key
  5. # 按照升序排序获取指定索引范围内的元素
  6. # WITHSCORES属性控制是否输出分数值
  7. zrange key start end [WITHSCORES]
  8. # 按照升序排序获取指定分数范围内的元素
  9. zrangebyscore key minScore maxScore [WITHSCORES]
  10. # 获取有序集合内在指定分数范围内的个数
  11. zcount key minScore maxScore

原文链接:http://www.cnblogs.com/kangyz/p/15706759.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号