Redis - 基础篇(上)

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis - 基础篇(上)

image.png

image.png

image.png

image.png

image.png

image.png



一、Redis 的安装

Linux 系统的操作:


1、解压源码;


2、编译(需要预安装gcc:yum install gcc--c++) make;


3、安装 make PREFIX=/usr/local/redis install;


4、从源文件夹复制redis.conf到安装路径redis;


5、运行 ./redis-server;


6、不推荐前端运行,可修改配置中daemonize为后端运行(daemonize no改为 yes)(./redis-server redis.conf);


7、查看是否运行 ps -ef | grep -i redis;


8、关闭服务端 kill -9 进程(不建议使用);./redis-cli shutdown;


9、使用命令:(get) (set) (keys *) (del)



二、 Jedis 的入门


image.png

// 单例操作
@Test
public void demo1(){
  Jedis jedis = new Jedis("127.0.0.1",6379);
  jedis.set("name", "test");
  String name = jedis.get("name");
  System.err.println(name);
  jedis.close();
}
// 连接池操作
@Test
public void demo2(){
  JedisPoolConfig config = new JedisPoolConfig();
  config.setMaxTotal(30);
  config.setMaxIdle(10);
  JedisPool jedisPool = new JedisPool(config,"127.0.0.1",6379);
  Jedis jedis = null;
  try{
    jedis = jedisPool.getResource();
    jedis.set("name", "test");
    String value = jedis.get("name");
    System.out.println(value);
  }catch(Exception e){
    e.printStackTrace();
  }finally{
    if(jedis != null){
      jedis.close();
    }
    if(jedisPool != null){
      jedisPool.destroy();
    }
  }
}

Ps:连接中的问题:linus防火墙对连接的影响以及对于属性修改

1) 打开linux防火墙6379端口:vim etc/sysconfig/iptables(复制yy,粘贴t,复制已开端口22那行)

2) 重启防火墙:service iptables restart

 


三、Redis 的数据结构


image.png

image.png


Redis的数据结构之字符串String常用命令:


set company imooc:设置值


get company :取值


getset company :先获取值在设置值


del company 删除值


incr company 对数字加一


decr company 对数字减一 如果没有设置默认为0,如果是字符串,默认报错


incrby company x,增加x


decrby company x,减去x


append 以字符串的形式相加而不是数字形式相加


image.png


Redis的数据结构之存储Hash常用命令:


设置值:hset hash key1 val1


设置多个值:hmset hash key1 val1 key2 val2 = hset hash key1 val1 key2 val2


获取单个key值:hget hash key


获取多个key值:hmget hash key1 key2


删除单个key值:hdel hash key1


删除所有:del hash


判断某个属性是否存在:hexists hash key1


获取所有key和value: hgetall hash


获得属性数量:hlen hash


获取所有key: hkeys hash


获取所有val: hvals hash


指定某个属性增加某个数量: hincrby hash age number



image.png

image.png


Redis的数据结构之存储list常用命令:


两端添加


lpush listname value1 value2 value3:如果listname不存在则创建listname并从左侧添加,先添加的元素靠后,下标从0开始。如果listname存在则直接从左侧添加


rpush listname value1 value2 value3:从右侧添加,先添加的元素靠前,下标从0开始


查看列表


lrange listname start end:左边查看指定范围内的listname的元素,下标从0开始,如果end为-1代表是最后一个元素


两端弹出


lpop listname:左边弹出listname中的第一个元素。如果listname不存在元素则返回nil,一旦做了弹出操作,被弹出的元素将在listname中消失


rpop listname:尾部(右部)弹出,与lpop同理


获取列表元素个数


llen listname:获取listname中元素的个数,如果listname不存在则返回0


扩展命令


lpushx listname value1 value2...:如果listname存在则进行添加操作,如果listname不存在则添加失败返回0


rpushx listname value1 value2...:与lpushx同理


lrem listname count value:如果count大于0,则从左往右删除count个value;如果count小于0,则从右向左删除count个value;如果count等于0则表示删除所有的value


lset listname index value:将listname中下标为index的值修改为value


linsert listname before listvalue value:在listname中的listvalue前插入一个value


linsert listname after listvalue value:在listname中的listvalue之后插入一个value


rpoplpush listname1 listname2:将listname1中右边的第一个元素进行弹出然后向listname2的左侧进行添加弹出的元素


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
目录
相关文章
|
NoSQL 开发工具 Redis
Redis学习13:服务器的基础配置
这个类似继承的意思。加速配置的一个东西。 服务器的配置比较独立一些,但配置并不是这么少,还有一些其他的。
Redis学习13:服务器的基础配置
|
监控 NoSQL Redis
Redis 6 新手入门基础篇
今天来讲讲redis以下知识点,如有不当请多指教!
239 0
Redis 6 新手入门基础篇
|
监控 NoSQL 前端开发
【Redis基础】一起读懂Redis主从架构、哨兵模式、集群(Demo详解)
本期基础Redis主从架构、哨兵模式、集群图文讲解!一起打卡学习吧!
407 0
【Redis基础】一起读懂Redis主从架构、哨兵模式、集群(Demo详解)
|
NoSQL 安全 网络协议
Redis 使用基础及配置文件详解(三)|学习笔记
快速学习Redis 使用基础及配置文件详解(三)
328 0
|
NoSQL Java Linux
Linux java基础环境搭建 ->redis
Linux java基础环境搭建 ->redis
149 0
|
NoSQL Redis 数据库
【Docker 基础教程】容器数据持久化(三)------ Redis的基础配置
【Docker 基础教程】容器数据持久化(三)------ Redis的基础配置
【Docker 基础教程】容器数据持久化(三)------ Redis的基础配置
|
NoSQL 数据库 Redis
Redis基础的一些知识和命令
Redis基础的一些知识和命令
|
NoSQL Redis 数据库
Redis基础【完整版】:简介和常用命令、全面key操作、五种数据类型的增删改查、Redis与Python交互(附源代码)2
Redis基础【完整版】:简介和常用命令、全面key操作、五种数据类型的增删改查、Redis与Python交互(附源代码)
333 0
Redis基础【完整版】:简介和常用命令、全面key操作、五种数据类型的增删改查、Redis与Python交互(附源代码)2
|
存储 NoSQL 关系型数据库
Redis基础【完整版】:简介和常用命令、全面key操作、五种数据类型的增删改查、Redis与Python交互(附源代码)
Redis基础【完整版】:简介和常用命令、全面key操作、五种数据类型的增删改查、Redis与Python交互(附源代码)
438 0
Redis基础【完整版】:简介和常用命令、全面key操作、五种数据类型的增删改查、Redis与Python交互(附源代码)
|
存储 缓存 NoSQL
Redis基础「5种基本数据结构」源码案例式深层讲解 建议观看收藏
**"Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker."** —— Redis是一个开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。(摘自官网)
162 0
Redis基础「5种基本数据结构」源码案例式深层讲解 建议观看收藏