有关于Redis的相关操作

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。 它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能, 同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区
  1. 学习网址
    https://www.w3cschool.cn/redis/
  2. Redis简介
    Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。
    它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,
    同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区

    学习网址:https://www.w3cschool.cn/redis/
    www.redis.cn
    www.redis.net.cn

    Redis用途:1. 数据库 2. 缓存
    集群:哨兵、主从、分片式

  3. 下载
    redis-5.0.0.tar.gz(linux)
    Redis-x64-3.2.100.msi(window安装版)
    Redis-x64-3.2.100.zip(window解压版)
  4. 安装和配置
    3.1 window(略...)
    3.2 linux(CentOS)
    3.2.1.解压redis

      $ tar -zxvf redis-5.0.0.tar.gz -C /usr/local/
      $ tar -zxf redis-5.0.0.tar.gz -C /usr/local/
            -zxf 静默解压方式
      $ cd redis-5.0.0
    

    3.2.2.安装gcc

      $ yum install gcc
    

    3.2.3.编译redis

      $ cd /redis-5.0.0
      $ make
    

    3.2.4.检测安装情况

      $ make install
    

    3.2.5.修改redis.conf文件

      将daemonize no 改为 daemonize yes
    

    3.2.6.启动redis

      ./redis-server /lky/redis-5.0.0/redis.conf
    
     查看redis进程:ps -ef | grep redis
     杀掉redis进程:kill -9 进程pid
    
3.2.7.测试redis启动是否成功
  ping

3.2.8.配置成系统服务

  1)配置redis日志文件路径(可选)
  logfile "redis安装目录/logs/redis.log"

  2)新建redis.service文件,配置成系统服务
  vi /usr/lib/systemd/system/redis.service
 
  具体redis.service文件内容配置,详见redis.service

3.2.9.重载系统服务
   systemctl daemon-reload

3.2.10.启动redis
   systemctl start redis  #启动redis服务
   systemctl stop redis   #停止redis服务
   systemctl status redis #查看redis状态
   systemctl restart redis #重启redis服务
   systemctl enable redis #注册服务
   systemctl disable redis #注销服务

  1. Redis支持五种数据类型
    string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)

5.通过命令操作redis
redis默认的数据库有16,mongodb是3个:admin/local/test

5.1 基本命令:
redis-cli 打开redis终端
注:配置完成密码后,以后登录就密码按下面的命令进行登录
redis-cli -h 127.0.0.1 -p 6379 -a 123456

ping 测试redis是否安装成功
select index 选择指定的数据库

5.2 Redis字符串(String)
set key 保存
get key 获取
type key 查看类型
keys *或keys key 查看所有或者指定的key

5.3 Redis哈希(Hash)
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
hset key field1 value1 [field2 value2] 同时将多个field-value设置到哈希表key中
hget key field 获取指定的字段值
hdel key field 删除指定的字段值
hgetall key 查询指定key的所有字段
hexists key field 查询指定key中的字段是否存在
hlen key 获取指定key中的长度

5.4 Redis列表(List)
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
lpush key value1 value2 value3 将一个或多个值插入到列表头部
llen key 获取列表的长度
lindex key index 根据索引获取列表中的元素
lrange key start sop 查看指定范围内的元素

5.5 Redis集合(Set)
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据
sadd key value1 [value2] 向集合添加一个或多个元素
scard key 获取集合中的元素数量
sscan key cursor [MATCH pattern] [COUNT count] 迭代集合中的元素
exists key 是否存在

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3月前
|
NoSQL Java Redis
SpringBoot 配置Redis操作
SpringBoot 配置Redis操作
47 0
|
3月前
|
存储 NoSQL 关系型数据库
使用lua脚本操作redis
使用lua脚本操作redis
48 0
|
3月前
|
设计模式 NoSQL Java
常用的设计模式以及操作Redis、MySQL数据库、各种MQ、数据类型转换的方法
常用的设计模式以及操作Redis、MySQL数据库、各种MQ、数据类型转换的方法
|
4月前
|
NoSQL Redis
redis常用数据结构和操作
redis常用数据结构和操作
30 0
|
3月前
|
NoSQL Java Redis
Redis进阶-Jedis以及Spring Boot操作 Redis 5.x Cluster
Redis进阶-Jedis以及Spring Boot操作 Redis 5.x Cluster
48 0
|
3月前
|
缓存 NoSQL Java
RedisTemplate操作Redis,这一篇文章就够了
redis是一款开源的Key-Value数据库,运行在内存中,由C语言编写。企业开发通常采用Redis来实现缓存。同类的产品还有memcache 、memcached 等。
223 1
|
4月前
|
存储 NoSQL Redis
Redis 简介 + Python 操作发布订阅
Redis 简介 + Python 操作发布订阅
|
20天前
|
存储 NoSQL Java
Redis 数据结构操作入门
Redis 数据结构操作入门
15 0
|
1月前
|
缓存 NoSQL 数据库
[Redis]——数据一致性,先操作数据库,还是先更新缓存?
[Redis]——数据一致性,先操作数据库,还是先更新缓存?
|
1月前
|
存储 NoSQL Redis
如何在Python中操作Redis数据库
如何在Python中操作Redis数据库
26 0