Mac redis入门
Mac redis入门
一、Redis简介
Redis是开源的key-value数据库,运行在内存中,但可以把数据持久化存到磁盘。Redis具有极高的性能,也为各种语言提供了丰富的接口,因此有着广泛的应用。
二、Mac下安装
直接用brew一行命令解决问题
$ brew install redis
启动服务
$ redis-server

测试连接
另开一个终端,输入ping,如果输出pong表示连接成功
$ redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>
三、redis数据类型
1. String(字符串)
用get、set访问和设置
127.0.0.1:6379> set a 'hello'
OK
127.0.0.1:6379> get a
"hello"
127.0.0.1:6379>
2. Hash(哈希)
用hget、hset访问和设置,哈希表内部的键用field来表示
127.0.0.1:6379> HSET myhash field1 'hello' field2 'world'
(integer) 2
127.0.0.1:6379> HGET myhash field1
"hello"
127.0.0.1:6379> HGET myhash field2
"world"
3、List(列表)
lpush、rpush表示从左、右插入数据,lpop、rpop表示从左、右弹出数据
127.0.0.1:6379> LPUSH list a
(integer) 1
127.0.0.1:6379> LPUSH list b c
(integer) 3
127.0.0.1:6379> LRANGE list 0 5
1) "c"
2) "b"
3) "a"
127.0.0.1:6379> RPUSH list d
(integer) 4
127.0.0.1:6379> LRANGE list 0 5
1) "c"
2) "b"
3) "a"
4) "d"
127.0.0.1:6379> LPOP list
"c"
127.0.0.1:6379> LRANGE list 0 5
1) "b"
2) "a"
3) "d"
127.0.0.1:6379>
4、Set(集合)
数学意义上的无序不重复集合,元素类型为字符串,sadd添加元素,srem删除元素
127.0.0.1:6379> SADD set redis
(integer) 1
127.0.0.1:6379> SADD set mongodb rabitmq
(integer) 2
127.0.0.1:6379> SADD set redis
(integer) 0
127.0.0.1:6379> SMEMBERS set
1) "mongodb"
2) "rabitmq"
3) "redis"
127.0.0.1:6379> srem set 'redis'
(integer) 1
127.0.0.1:6379> SMEMBERS set
1) "mongodb"
2) "rabitmq"
5、Zset(Sorted set有序集合)
与set类似,但根据score排序
127.0.0.1:6379> ZADD sorted 1 hello
(integer) 1
127.0.0.1:6379> ZADD sorted 5 world
(integer) 1
127.0.0.1:6379> ZADD sorted 3 redis
(integer) 1
127.0.0.1:6379> ZRANGE sorted 0 5
1) "hello"
2) "redis"
3) "world"
127.0.0.1:6379>
三、Python接口
# coding=utf-8
import redis
client = redis.Redis()
print '---------------'
print 'string测试'
client.set('foo', 1)
print client.get('foo')
client.set('foo', 'you are fine') # 已存在的键直接覆盖值
print client.get('foo')
client.delete('foo') # 删除
print client.get('foo')
client.set('num', 5)
client.incr('num')
client.incrby('num', 5)
print client.get('num')
print '---------------'
print 'hash测试'
client.hset('car', 'price', 400)
print client.hget('car', 'price')
print client.exists('car') # 测试key是否已经存在
print client.hexists('car', 'price') # 测试hash中的键是否存在
print client.hexists('car', 'type')
print client.hsetnx('car', 'name', 'jack') # 字段不存在时才赋值,nx表示not exist
print client.hsetnx('car', 'name', 'jom')
print '---------------'
print 'List测试'
client.lpush('double_list', 1)
client.lpush('double_list', 2)
client.lpush('double_list', 3)
client.rpush('double_list', 4)
client.lpop('double_list')
num = client.llen('double_list')
print client.lrange('double_list', 0, num)
print '---------------'
print 'set测试'
client.sadd('my_set', 1)
client.sadd('my_set', 1)
client.sadd('my_set', "abc")
client.sadd('my_set', 123)
client.sadd('my_set', -1)
client.srem('my_set', 1) # remove
print client.smembers('my_set')
print '---------------'
print 'sorted set测试'
client.zadd('sorted', 'field1', 1, 'field2', 2)
client.zadd('sorted', 'field3', 4, 'field4', 3)
print client.zrange('sorted', 0, 1)
运行结果
---------------
string测试
1
you are fine
None
11
---------------
hash测试
400
True
True
False
0
0
---------------
List测试
['2', '1', '2', '1', '2', '1', '2', '1', '2', '1', '4', '4', '4', '4', '4']
---------------
set测试
set(['123', 'abc', '-1'])
---------------
sorted set测试
['field1', 'field2']
Mac redis入门的更多相关文章
- Redis入门教程:特性及数据类型的操作
虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了解并不全面,下面是一个比较系统的Redis介绍,对Redis的特性及各种数据类型及操作进行了介绍.是一个很不错的Redis入门 ...
- redis入门(三)
目录 redis入门(三) 目录 前言 事务 原理 Lua脚本 安装 脚本命令 集群搭建工具 redis-trib.rb redis官方集群搭建 集群横向扩展 故障转移 redis管理 参考文档 re ...
- 安装redis入门
redis官网:redis.io redis版本用的是redis-3.2.2 $ wget http://download.redis.io/releases/redis-3.2.2.tar.gz $ ...
- redis入门笔记(2)
redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...
- redis入门笔记(1)
redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...
- Redis入门指南
随着互联网业务对性能需求日益强烈,作为Key/Value存储的Redis具有数据类型丰富和性能表现优异的特点.如果能够熟练地驾驭它,不管是把它用做缓存还是存储,对很多大型应用都很多帮助.新浪作为世界上 ...
- 【原】Redis入门教程
最近在学习Redis,写几篇文章记录一下学习过程:Redis入门教程. 1.Redis基本概念 Redis Redis Keys Redis 基本数据类型 Redis基本操作 遍历操作 Pub-Sub ...
- windows下使用redis,Redis入门使用,Redis基础命令
windows下使用redis,Redis入门使用,Redis基础命令 >>>>>>>>>>>>>>>> ...
- Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)
Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式) 原文地址:http://alanland.iteye.com/admin/blogs/1600685(欢迎转载 ...
随机推荐
- zookeeper都有哪些使用场景
分布式协调 这个其实是zk很经典的一个用法,比如,A系统发送个请求到mq,然后B拿到消息消费之后处理了.那A系统如何知道B系统的处理结果? 用zk就可以实现分布式系统之间的协调工作.A系统发送请求之后 ...
- eclipse中文乱码修改新方法
方法背景:想看别人的JAVA项目,导入eclipse后出现中文乱码,在设置了所有的工作空间都为UTF-8以后都没有用,并且项目Resource选项没有GBK选项,或统一选择GBK后会使其他项目出现中文 ...
- C# 之 串口数据侦听的实现
当需要编程操纵硬件时会遇到过这样的问题,就是通过串口来接收硬件发来的数据,或是通过串口向硬件发送某种格式的命令.在C#平台上,可以通过 System.IO.Ports 命名空间下的SerialPort ...
- 【Android】TypedArray和obtainStyledAttributes使用
在编写Android自定义按钮示例基础上,如果要指定字体大小产生这样的效果: 其实是不需要自定义变量的,可以直接使用TextView的配置属性: <com.easymorse.textbutto ...
- Codeforces 935E Fafa and Ancient Mathematics dp
Fafa and Ancient Mathematics 转换成树上问题dp一下. #include<bits/stdc++.h> #define LL long long #define ...
- php json_encode转换中文乱码
$arr = ["a"=>'范德萨似懂非懂']; echo json_encode($arr,JSON_UNESCAPED_UNICODE);
- react学习二 生命周期
转自:https://www.cnblogs.com/gdsblog/p/7348375.html react 中compent getDefaultProps object getDefaultPr ...
- Dev-C++安装第三方库boost
Dev-C++安装第三方库boost 转 https://www.jianshu.com/p/111571e4d6f5?utm_source=oschina-app 之前鉴于codeblocks界面 ...
- POJ 3189 Steady Cow Assignment 【二分】+【多重匹配】
<题目链接> 题目大意: 有n头牛,m个牛棚,每个牛棚都有一定的容量(就是最多能装多少只牛),然后每只牛对每个牛棚的喜好度不同(就是所有牛圈在每个牛心中都有一个排名),然后要求所有的牛都进 ...
- UVa 11987 Almost Union-Find (虚拟点)【并查集】
<题目链接> 题目大意: 刚开始,1到n个集合中分别对应着1~n这些元素,然后对这些集合进行三种操作: 输入 1 a b 把a,b所在的集合合并 输入 2 a b 把b从b所在的旧集合移到 ...