redis(一) 安装以及基本数据类型操作
redis(一) 安装以及基本数据类型操作
redis安装和使用
redis安装
wget http://download.redis.io/redis-stable.tar.gz
tar zxvf redis-stable.tar.gz
cd redis-stable.tar.gz
make
make install
redis启动
redis-server
redis-cli shutdown
配置
方法一
redis-server /path/to/redis.conf
redis-server /path/to/redis.conf --loglevel warning //设置日志级别
方法二
redis-cli
redis > CONFIG SET loglevel warning
多数据库的选择
> select
数据库基本操作
(1)添加数据和查找数据,通过set/get命令添加和获取数据
127.0.0.1:> select
OK
127.0.0.1:[]> set bar
OK
127.0.0.1:[]> get bar
""
127.0.0.1:[]> get aaa
(nil)
(2)判断一个键是否存在,exists命令可以判断key是否存在,存在返回1,不存在返回0
127.0.0.1:[]> exists bar
(integer)
127.0.0.1:[]> exists aaa
(integer)
(3)删除数据,del命令删除key,返回值为成功删除key的个数
127.0.0.1:[]> del aaa
(integer)
127.0.0.1:[]> del bar
(integer)
(4)获取value的类型
127.0.0.1:[]> set bar
OK
127.0.0.1:[]> type bar
string
(5)自增和自减,incr 、decr以及incrby和decrby实现整数的加减
127.0.0.1:[]> INCR ab
(integer)
127.0.0.1:[]> INCR ab
(integer)
127.0.0.1:[]> INCRBY ab
(integer)
127.0.0.1:[]> DECR ab
(integer)
127.0.0.1:[]> DECRBY ab
(integer)
(6)增加指定浮点数,incrbyfloat可以指定自增的浮点数
127.0.0.1:[]> INCRBYFLOAT ab 1.1
"2.1"
(7)向尾部追加,append命令可以向字符尾部追加内容
127.0.0.1:[]> set key hello
OK
127.0.0.1:[]> append key world
(integer)
127.0.0.1:[]> get key
"helloworld"
(8)获取字符串长度,strlen获取value的长度
127.0.0.1:[]> STRLEN key
(integer)
(9)批量设置和获取,通过mset和mget命令可以批量执行设置和获取
127.0.0.1:[]> mset key1 va1 key2 va2
OK
127.0.0.1:[]> mget key1 key2
) "va1"
) "va2"
(10)位操作
getbit key offset
setbit key offset
bitcount key [start] [end]
bitop operation destkey key [key ...]
散列类型
{
"id":,
"name":"test"
}
基本操作
(1)存储方法,可以通过hset和hget来设置和获取数据
127.0.0.1:[]> hset user id
(integer)
127.0.0.1:[]> hset user name test
(integer)
127.0.0.1:[]> hget user id
""
127.0.0.1:[]> hget user name
"test"
(2)判断字段是否存在,hexists命令,返回1存在,返回0不存在
127.0.0.1:[]> hexists user id
(integer)
127.0.0.1:[]> hexists user age
(integer)
(3)使用hsetnx(hset if not exists)如果不存在赋值
127.0.0.1:[]> hsetnx user age
(integer)
127.0.0.1:[]> hget user age
""
(4)增加数字
127.0.0.1:[]> hincrby user score
(integer)
127.0.0.1:[]> hget user score
""
(5)删除字段
127.0.0.1:[]> hdel user score
(integer)
127.0.0.1:[]> hget user score
(nil)
如何存储数据?
键 字段 字段值
post:id field value
127.0.0.1:[]> incr userid
(integer)
127.0.0.1:[]> hset user: name test
(integer)
127.0.0.1:[]> hset user: score
(integer)
127.0.0.1:[]> incr userid
(integer)
127.0.0.1:[]> hset user: name test2
(integer)
127.0.0.1:[]> hset user: score
(integer)
添加了两条数据,id为1的名字为test分数为90,而id为2的名字为test2分数为90.
127.0.0.1:[]> hmget user: name score
) "test"
) ""
127.0.0.1:[]> hgetall user:
) "name"
) "test2"
) "score"
) ""
127.0.0.1:[]> hkeys user:
) "name"
) "score"
127.0.0.1:[]> hvals user:
) "test"
) ""
127.0.0.1:[]> hlen user:
(integer)
需要注意的是,散列类型无法获取所有存在的键值,也就是id,如果删除了中间某个id的话,只可以使用exist命令来判断key是否存在。
列表类型
基本操作
列表的基本操作命令都是以l开头的。
127.0.0.1:> lpush user test
(integer)
127.0.0.1:> rpush user test1
(integer)
127.0.0.1:> lpop user
"test"
127.0.0.1:> rpop user
"test1"
127.0.0.1:>
127.0.0.1:> llen user
(integer)
127.0.0.1:> lpush user test
(integer)
127.0.0.1:> llen user
(integer)
127.0.0.1:> lrange user
) "test"
) "test1"
) "test2"
) "test3"
127.0.0.1:> lrange user
) "test"
) "test1"
) "test2"
lrem key count value
@count 为删除个数,大于0的话从左边开始,小于0的话从右边开始
@value 要删除的值
我们可以把数据的id存储在列表中,当某一行数据被删除时候,只需要删除为该value为key即可,而查询数据的时候,需要先从列表中读取所有的id,再从散列表中读取数据。
127.0.0.1:> lrange user -
) "test"
) "test1"
) "test2"
) "test3"
127.0.0.1:> linsert user before test1 test0
(integer)
127.0.0.1:> linsert user after test1 test1.
(integer)
127.0.0.1:> lrange user -
) "test"
) "test0"
) "test1"
) "test1.5"
) "test2"
) "test3"
rdroplpush source destination
从source列表的右侧弹出一个数据,添加到destination列表的左侧
集合类型
127.0.0.1:> sadd key
(integer)
127.0.0.1:> sadd key
(integer)
127.0.0.1:> sadd key
(integer)
127.0.0.1:> smembers key
) ""
) ""
127.0.0.1:> srem key
(integer)
127.0.0.1:> smembers key
) ""
127.0.0.1:> sismember key
(integer)
127.0.0.1:> sismember key
(integer)
sdiff key [key...]
sinter key [key...]
sunion key [key...]
127.0.0.1:> scard key
(integer)
sdiffstore destination key [key...]
sinterstore destination key[key...]
sunionstore destination key[key...]
srandmember key [count]
127.0.0.1:> srandmember key
) ""
) ""
) ""
有序集合类型 sorted set
基本操作
(1)zadd添加元素,并设置分数score
127.0.0.1:> zadd students xiaoming
(integer)
127.0.0.1:> zadd students daxiong
(integer)
127.0.0.1:> zscore students xiaoming
""
127.0.0.1:> zrange students
) "xiaoming"
) "daxiong"
127.0.0.1:> zrangebyscore students
) "xiaoming"
127.0.0.1:> zrangebyscore students
) "xiaoming"
) "daxiong"
获取从0开始的前2个数据
127.0.0.1:> zrangebyscore students limit
) "xiaoming"
) "daxiong"
获取从1开始的前2个数据
127.0.0.1:> zrangebyscore students limit
) "daxiong"
127.0.0.1:> zincrby students xiaoming
""
127.0.0.1:> zincrby students - xiaoming
""
127.0.0.1:> zcard students
(integer)
zcount key min max 127.0.0.1:> zcount students
(integer)
127.0.0.1:> zcount students
(integer)
zrem key [key...]
zremrangebyrank key start stop
zremrangebyscore key min max
redis(一) 安装以及基本数据类型操作的更多相关文章
- Redis:安装、配置、操作和简单代码实例(C语言Client端)
Redis:安装.配置.操作和简单代码实例(C语言Client端) - hj19870806的专栏 - 博客频道 - CSDN.NET Redis:安装.配置.操作和简单代码实例(C语言Client端 ...
- Redis快速入门:安装、配置和操作
本文是有关Redis的系列技术文章之一.在之前的文章中介绍了<Redis快速入门:初识Redis>,对Redis有了一个初步的了解.今天继续为大家介绍Redis如何安装.配置和操作. 系列 ...
- Redis简介、与memcached比较、存储方式、应用场景、生产经验教训、安全设置、key的建议、安装和常用数据类型介绍、ServiceStack.Redis使用(1)
1.NOSQL简介 nosql的产生并不是要彻底的代替关系型数据库,而是作为传统关系型数据库的一个补充. Facebook和360使用Cassandra来存储海量社交数据 Twitter在其url抓取 ...
- 缓存系列之三:redis安装及基本数据类型命令使用
一:Redis是一个开源的key-value存储系统.与Memcached类似,Redis将大部分数据存储在内存中,支持的数据类型包括:字符串.哈希表.链表.集合.有序集合以及基于这些数据类型的相关操 ...
- redis的安装使用以及在python中操作redis
一.Redis介绍: Redis可以看作是一个key-value的存储系统,它为我们提供了丰富的数据结构,包括lists,sets,ordered sets和hashes.还包括了对这些数据结构的丰富 ...
- redis安装启动和数据操作
redis安装和启动 1.安装包下载地址 >> redis基本数据类型 string(字符串和数值) .list(列表/队列).hashmap(哈希表[键唯一]). set(集合[值唯一] ...
- redis基础:redis下载安装与配置,redis数据类型使用,redis常用指令,jedis使用,RDB和AOF持久化
知识点梳理 课堂讲义 课程计划 1. REDIS 入 门 (了解) (操作) 2. 数据类型 (重点) (操作) (理解) 3. 常用指令 (操作) 4. Jedis (重点) (操作) ...
- 大数据学习day31------spark11-------1. Redis的安装和启动,2 redis客户端 3.Redis的数据类型 4. kafka(安装和常用命令)5.kafka java客户端
1. Redis Redis是目前一个非常优秀的key-value存储系统(内存的NoSQL数据库).和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list ...
- windows下Redis安装及利用java操作Redis
一.windows下Redis安装 1.Redis下载 下载地址:https://github.com/MicrosoftArchive/redis 打开下载地址后,选择版本 然后选择压缩包 下载 R ...
随机推荐
- Spring知识点总结大全(2)
3.Spring的AOP 一.AOP(Aspect-oriented programming,面向切面编程): 什么是AOP? 定义:将程序中的交叉业务逻辑提取出来,称之为切面.将这些切面动态织入到目 ...
- Jmeter在linux上运行(命令行运行Jmeter)
1.下载安装 http://jmeter.apache.org/download_jmeter.cgi Jmeter官网下载 linux下应使用tgz包,下载 Binaries apache-jme ...
- error C2065: “CDatabase”: 未声明的标识符
使用vc++与access的接口时出现错误“error C2065: “CDatabase”: 未声明的标识符” 解决方法: 添加 #include "afxdb.h"
- 数据类型安全验证都交给TryParse吧
C# 网站开发中 往往在编写后台代码中遇到从字符类型转换到其他类型.其实无需在单独验证字符串长度,是否为空等工作.直接用Tryparse转换,如果转换失败说明字符串的格式等有误.成功则再进一步验证转换 ...
- SAP项目管理模块培训教材
SAP项目管理模块培训教材(PLM210.PLM220.PLM230)分享: http://sap.npbok.com/
- sqlserver中的表值函数和标量值函数
顾名思义:表值函数返回的是表,而标量值函数可以返回基类型 一.表值函数 用户定义表值函数返回 table 数据类型.对于内联表值函数,没有函数主体:表是单个 SELECT 语句的结果集. 以下示例创建 ...
- nginx搭建高性能流媒体技术
一. 系统环境 系统版本: CentOS 5.8x86_64 Nginx版本: Nginx-1.4.2.tar.gz Yamdi版本:Yamdi-1.9.tar.gz 二. 自动化安装 #!/bin/ ...
- 禁止Visual Studio中的编译警告
VC编译器有个很蛋痛的自家警告系统,默认下各种开源库比如CGAL,各种4996,而一般自己写的 如sscanf,fopen这种单个文件,在文件头加个 #pragma warning (disable ...
- Mysql 启动不了,问题集锦
1. 报错信息 mysqld_safe mysqld from pid file xxx.pid ended 解决办法: 可能是pid所在目录,没有权限,赋予权限即可 2. 找不到 /tmp/mysq ...
- Windows 商店应用中使用 SharePoint REST API
前面一篇我们介绍了 Office 365 REST API 的官方工具的使用,本篇我们来看一下 SharePoint REST API 本身的描述.结构和使用方法,以及一些使用经验. 首先来看看Sha ...