【Redis】三、Redis安装及简单示例

(四)Redis安装及使用

  Redis的安装比较简单,仍然和大多数的Apache开源软件一样,只需要下载,解压,配置环境变量即可。具体安装过程参考:菜鸟教程Redis安装。

  安装完成后,通过redis-server启动Redis服务器,在通过Redis-cli启动一个客户端就可以进行简单的测试。

(五)Redis简单示例

  Redis作为一个key-Value的开源数据库,我们在简介中提到它提供了多种语言的API。这里我们通过java和python给出使用其API的简单示例。

1、Redis的Java API

  对于Java项目我们可以使用maven进行构建。

package com.redis.sgz;import java.util.Iterator;
import java.util.Set;
import redis.clients.jedis.Jedis;public class RedisTest{private String host;private int port;private String password;private Jedis jedis;//通过密码连接redispublic RedisTest(String host,int port,String password){this.host=host;this.port=port;this.password=password;}//不使用密码连接public RedisTest(String host,int port){this.host=host;this.port=port;this.password=null;}//连接到redis服务器public void connect(){jedis=new Jedis(host, port);//是否进行密码认证if(password!=null)jedis.auth(password);System.out.println("connect success!");//查看服务是否运行System.out.println("服务正在运行:"+jedis.ping());}//关于redis键的相关操作public void keyOperate(){System.out.println("***********************key**********************");//输出当前系统中所有的键Set<String > keys=jedis.keys("*");Iterator<String > iterator=keys.iterator();while(iterator.hasNext())System.out.println(iterator.next());//添加一个keyjedis.set("myredis","redis");//判断一个键在系统中是否存在System.out.println("删除前:键myredis存在吗?"+jedis.exists("myredis"));//查看key所对应值的类型System.out.println("键myredis存储的类型是:"+jedis.type("myredis"));//删除一个keyjedis.del("myredis");System.out.println("删除后:键myredis存在吗?"+jedis.exists("myredis"));}//数据结构1:字符串public void stringOperate(){System.out.println("***********************string**********************");//增加键值对jedis.set("key1","value1");jedis.set("key2","value2");jedis.set("key1","value3");//获取某个key对应的值System.out.println("key1对应的值:"+jedis.get("key1"));//获取某个key对应的值的子字符System.out.println("key1对应的值子字符:"+jedis.getrange("key1",0,2));//获取某个key对应的值长度System.out.println("key1对应的值长度为:"+jedis.strlen("key1"));}//数据结构2:哈希Hash//数据机构3:列表List//数据结构4:集合Set//数据结构5:有序集合zSet//操作方法都类似,重点是掌握相应的命令public static void main(String[] args){RedisTest redis=new RedisTest("localhost",6379);//测试连接redis.connect();redis.keyOperate();redis.stringOperate();}
}

2、Redis的Python API

  pythonde 的API使用起来相对更加简单一些。

#coding=utf-8
import redisdef connect(host,port):r=redis.Redis(host=host,port=port)# 测试是否正在运行print("redis is run:"+str(r.ping()))return rdef stringOperate(r):r.set("name","zhangsan")r.set("age","10")print(r.get("name"))print(r.getrange("name",0,2))r.append("name","add")print(r.get("name"))r.incr("age")print(r.get("age"))if __name__ == "__main__":r=connect("10.2.17.180",6379)stringOperate(r)

转载于:https://www.cnblogs.com/gzshan/p/10973972.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/483255.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构和算法——栈、队列、堆

文章目录1.预备知识1.1 栈1.2 队列1.3 堆2.用队列实现栈2.1 题目描述2.2 解题思路2.3 C实现3.用栈实现队列3.1 题目描述3.2 解题思路3.3 C实现4.最小栈4.1 题目描述4.2 解题思路5.合法的出栈序列5.1 题目描述5.2 解题思路5.3 C实现6.基本计算器6.1 题目描述6.2 解题思路7.数组中…

LeetCode 刷题笔记 (树)

1. minimum-depth-of-binary-tree 题目描述 Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.求二叉树的最小深度&#xff1b;解题思路 递归遍历二叉树的每…

综述 | 北斗系统应用趋势分析

来源&#xff1a;智绘科服初审&#xff1a;张艳玲复审&#xff1a;宋启凡终审&#xff1a;金 君一、前言2020年6月23日&#xff0c;北斗三号最后一颗组网卫星成功发射。2020年7月31日&#xff0c;北斗三号建成暨开通仪式举行&#xff0c;北斗三号全球卫星导航系统正式开通[1]…

数据结构与算法——贪心算法

文章目录1.分发饼干1.1 题目描述1.2 解题思路1.3 C实现2.摆动序列2.1 题目描述2.2 解题思路2.3 C实现3.移掉K位数字3.1 题目描述3.2 解题思路3.3 C实现4.跳跃游戏4.1 题目描述4.2 解题思路4.3 C实现5.跳跃游戏 II5.1 题目描述5.2 解题思路5.3 C实现6.用最少数量的箭引爆气球6.1…

人为什么要睡觉?科学家给出进一步答案

来源&#xff1a;科技日报作者&#xff1a;张佳欣 人类一生中有三分之一的时间在睡觉&#xff0c;包括苍蝇、蠕虫甚至水母等无脊椎动物也会睡觉。在整个进化过程中&#xff0c;睡眠对所有具有神经系统的有机体来说都是普遍的&#xff0c;也是必不可少的。然而你有没有想过&…

自我觉察-3:发现-我这么做究竟为了什么?

今天一个人在食堂吃饭时&#xff0c;不是很饿&#xff0c;又拿了很多菜&#xff0c;就挑挑拣拣的吃&#xff0c;然后呢&#xff0c;又觉得吃相不雅&#xff0c;让别人看了不好。就有点儿端着架子吃似的。这时候&#xff0c;我突然想起一句话“我用自认为优雅地姿势吃饭为了什么…

操作系统——简介

文章目录1.操作系统的功能和目标1.1 作为用户和计算机硬件之间的接口1.2 作为系统资源的管理者1.3 作为最接近硬件的层次2.操作系统的概念、功能和目标3.操作系统的四大特征3.1 并发3.2 共享3.3 虚拟3.4 异步4.操作系统的运行机制4.1 两种指令4.2 两种处理器状态4.3 两种程序5.…

Andrew Gelman、Aki Vehtari​ | 过去50年最重要的统计学思想是什么?

来源&#xff1a; 数据分析网作者 &#xff1a;Andrew Gelman 美国统计学家、哥伦比亚大学统计学教授Aki Vehtari 阿尔托大学计算机科学系副教授近日&#xff0c;图灵奖得主、“贝叶斯网络之父”Judea Pearl在Twitter上分享了一篇新论文“What are the most important statis…

全局唯一ID的生成

数据在分片时&#xff0c;典型的是分库分表&#xff0c;就有一个全局ID生成的问题。单纯的生成全局ID并不是什么难题&#xff0c;但是生成的ID通常要满足分片的一些要求&#xff1a; 1 不能有单点故障。 2 以时间为序&#xff0c;或者ID里包含时间。这样一是可以少一个索引…

操作系统——进程

文章目录1.进程的定义2.进程的组成3.PCB4.进程的状态4.1 进程的五种状态4.2 进程状态间的转换5.进程控制6.进程通信6.1 共享存储6.2 管道通信6.3 消息传递7.线程7.1 线程的概念7.2 引入线程后的变化7.3 线程的属性7.4 线程的实现方式7.4.1 用户级线程7.4.2 内核级线程7.4.3 混合…

10分钟了解图卷积神经网络的常用算法和发展方向

来源&#xff1a;数学算法俱乐部近几年&#xff0c;机器学习在各个领域井喷式发展&#xff0c;现已成为当下最热门的技术。掌握机器学习&#xff0c;你就比 80% 的人更具备竞争优势。谷歌的无人驾驶、抖音的推荐系统、百度的人脸识别、大疆的无人机、科大讯飞的语音识别、小米的…

python学习之数据类型(int,bool,str)

第三章 数据类型 3.1 Python基本数据类型 类型含义描述int整数主要用来进⾏数学运算str字符串可以保存少量数据并进⾏相应的操作bool布尔值判断真假&#xff0c;True&#xff0c;Falselist列表存储⼤量数据&#xff0c;⽤[ ]表示tuple元组不可以发⽣改变 用( )表示dict字典保存…

操作系统——调度

文章目录1.调度的概念2.调度的三个层次2.1 高级调度2.2 中级调度2.3 低级调度2.4 三种调度之间的关联1.调度的概念 2.调度的三个层次 2.1 高级调度 2.2 中级调度 2.3 低级调度 2.4 三种调度之间的关联

诺奖得主被曝40多篇论文造假!

来源&#xff1a;科研城邦截止2021年11月6日&#xff0c;Gregg L. Semenza教授针对其在Pubpeer被挂的52篇论文&#xff0c;进行了至少6篇文章的纠正&#xff0c;且撤回了1篇文章。离谱的是&#xff0c;这位美国约翰霍普金斯大学教授&#xff0c;正是2019年诺贝尔生理学或医学奖…

操作系统——死锁

文章目录1.死锁的概念2.死锁产生的必要条件3.什么时候会发生死锁4.死锁的处理策略4.1 预防死锁4.1.1 破坏互斥条件4.1.2 破坏不剥夺条件4.1.3 破坏请求和保持条件4.1.4 破坏循环等待条件4.2 避免死锁4.2.1 安全序列4.2.2 银行家算法1.死锁的概念 2.死锁产生的必要条件 3.什么时…

苏联的三进制电脑,为什么被二进制干掉了?

来源&#xff1a;差评 当我们在电脑上打开一个软件&#xff0c;看一部电影&#xff0c;听一首歌的时候&#xff0c;我们很难想象&#xff0c;这些东西都是由 0 和 1 这样的二进制数字组成的。但你有没有好奇过&#xff1f;为什么计算机要用二进制呢&#xff1f;难道是因为它效…

动态规划-背包问题

0-1背包 N件物品&#xff0c;背包最大容量为V, 第i件物品的费用为w[i],价值为v[i] 使用f[i][j]表示在容量为j&#xff0c;在前i件物品中(包括i)选择物品所获得的最大价值 递推方程为f[i][j] max(f[i-1][j], f[i-1][j - w[i]] v[i]) 在是否选择第i件物品取最大值 从后往前更新…

linux标准I/O——标准I/O介绍

文章目录1.文件的相关概念1.1 什么是文件1.2 文件类型2.标准I/O概念2.1 什么是标准I/O2.2 FILE和流2.3 流的缓冲类型2.4 stdin&#xff0c;stdout和stderr1.文件的相关概念 1.1 什么是文件 \qquad一组相关数据的有序集合 1.2 文件类型 文件类型表示举例常规文件r文本文件、二…

70页论文,图灵奖得主Yoshua Bengio一作:「生成流网络」拓展深度学习领域

来源&#xff1a;机器学习研究组订阅GFlowNet 会成为新的深度学习技术吗&#xff1f;近日&#xff0c;一篇名为《GFlowNet Foundations》的论文引发了人们的关注&#xff0c;这是一篇图灵奖得主 Yoshua Bengio 一作的新研究&#xff0c;论文长达 70 页。在 Geoffrey Hinton 的「…

linux标准I/O——流的打开和关闭

文章目录1.打开流2.mode参数3.fopen举例4.新建文件权限5.处理错误信息6.关闭流1.打开流 2.mode参数 3.fopen举例 #include<stdio.h> int main() {FILE *fp;fpfopen("a.txt","r");if(fpNULL){printf("fopen error\n");return -1;}return 0…