redis基本操作

Redis

定义:非关系型数据库nosql(not only sql),不支持sql语句,以键值对形式存储数据,是一个开源的使用ANISIC语言编写,支持网络,可基于内存也可持久化的日志型数据库。Redis还支持数据的备份,即master-slave模式的数据备份

优势:读取快,性能高;有丰富的数据类型,支持二进制String,Lists,Hashes等操作原子性,还支持key过期,通知等特性。

应用场景:用来做缓存;用来实现特定功能,session共享,购物车,商品历史浏览记录

使用redis常用命令

下载

  wget http://download.redis.io/releases/redis-3.2.8.tar.gz

解压

 tar -zxvf redis-3.2.8.tar.gz

编译和安装(进入redis解压出来的根目录下

  sudo make install

安装完成后,进入目录/usr/local/bin中查看

  cd /usr/local/bin

  ls -all

验证是否安装成功(不报错)

 sudo redis-server

查看已启动的redis-server

ps -ef|grep redis-server

指定配置文件启动redis服务端

sudo redis-server /etc/redis/redis.conf

停止

 sudo pkill -9 redis-server

客户端连接到redis服务器

  redis-cli

 连接到固定主机端口

 redis-cli -h 主机 -p 端口 --raw(raw 查看中文)

切换数据库

select 2

删除当前数据库中所有key

flushdb

删除所有数据库中的key

flashall

数据结构及操作行为:

redis是key-value的数据结构,每条数据都是一个键值对

键的类型是字符串,键不能重复

值的类型分为五种:①字符串string②列表list③集合set④有序集合zset⑤哈希hash

操作行为①保存②修改③获取④删除

操作数据库有关的命令

查找键

keys *  ---查找所有键

Keys *a* ---查找含a的键

判断键是否存在

exists key(存在返回1,不存在返回0)

查看值的类型

type key(五种类型)

删除键值对

del key1 key2

设置过期时间

setex key 有效时间(秒) value

设置有效时间

expire key 有效时间(秒)

查看键的剩余有效时间

ttl key    (time to live)

字符串(string)的命令

设置键值(如果不存在为添加,如果存在为修改)

set key value

设置多个键值

mset key1 value1 key2 value2 ...

追加值

append aa haha

查询值

get key

根据多个键获取多个值

mget key1 key2 ...

列表(list)的命令

从左侧插入数据

 lpush key value1 value2 …  

结果[value2, value1]

从右侧插入数据

rpush key value1 value2 …

结果[value1, value2]

插入一个元素

 linsert key before/after 现有元素 要插入的值

将列表中前count次出现的值为value的元素移除

lrem key count value

(count大于0: 从头往尾移除;count小于0: 从尾往头移除;count = 0: 移除所有)

 

修改指定索引位置的元素值

lset key index value

获取列表里指定范围内的元素

lrange key 开始索引 结束索引  (闭区间)

截取列表里指定范围内的元素

ltrim key 开始索引 结束索引

无序集合(set)的命令

增加元素

sadd  key member1 member2 ...

删除指定元素

srem key member1 member2 ...

返回所有元素

 smembers key

有序集合(zset)的命令

      每个元素都关联一个double类型的score,表示权重,通过权重将元素从小到大排序

添加元素

zadd key score1 member1 score2 member2 ...

删除元素

zrem key member1 member2 ...

删除权重在指定范围的元素

zremrangebyscore key min max

获取指定范围的元素

zrange key 开始索引 结束索引(支持负数)

获取score在指定范围内的元素

zrangebyscore key min max

获取元素的score值

zscore key member

对象(hash)的命令

设置单个属性

hset key field value

设置多个属性

hmset key field1 value1 field2 value2 ...

获取指定键所有的属性

hkeys key

获取一个属性的值

hget key field

获取多个属性的值

hmget key field1 field2 ...

获取所有属性的值

hvals key

删除hash键值

hdel key field1 field2 ...

获取hash中属性的个数

hlen key

 

Redis&python交互

①进入虚拟环境,安装redis包:pip install redis

②导包:from redis import *

③创建StrictRedis对象:sr = StrictRedis() ---默认主机和端口,如果不同需关键字参数指定。添加decoderesponse = True可以获取redis数据无需解码,否则是二进制数据

④增:rs.set('aa',11) 返回值布尔类型,如果保存成功返回True,否则False

删:re.delete('bb') 返回值是删除键值对的个数

改:re.set('aa',22) aa存在即修改,返回布尔类型

查:re.get('aa') 返回值是aa的值

 

Redis&Django交互

①安装django-redis包:pip install django-redis==4.8.0

②在django项目settings设置CACHES选项:

CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/3", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", "PASSWORD": "" # Redis密码,默认为空 } } }

③视图函数:

连接Redis数据库,返回一个StrictRedis对象,default表示上面配置

strict_redis=get_redis_connection('default'),可以不写,默认default

 

通过redis保存session数据

①安装包: pip install django-redis-sessions==0.5.6

②配置settings文件:

# 使用redis保存session数据 SESSION_ENGINE = 'redis_sessions.session' SESSION_REDIS_HOST = 'localhost' SESSION_REDIS_PORT = 6379 SESSION_REDIS_DB = 2 SESSION_REDIS_PASSWORD = '' SESSION_REDIS_PREFIX = 'session'

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值