非关系型的数据库NoSQL
admin
2023-06-09 12:02:04
0次

NoSQL的总体介绍

http://www.apelearn.com/bbs/forum.php?mod=viewthread&tid=8660&highlight=NoSQL


 memcached介绍

1.3 memcached安装

http://www.apelearn.com/bbs/thread-9285-1-1.html


yum install -y epel-release

 rpm -qa epel-release

yum install -y livevent memcached libmemcached

/etc/init.d/memcached start

netstat  -lnp

ps aux |grep memcached

 vi /etc/init.d/memcached

cat /etc/sysconfig/memcached

-l监听的服务器ip

 memcached-tool 127.0.0.1:11211 stats

memstat --servers=127.0.0.1:11211

1.4 Memcached基本操作

telnet 127.0.0.1 11211

set key3 123 200 3

123

replace key3 123 210 4

1234

get key3

php连接memcached

cd /usr/local/src/

 wget  http://www.lishiming.net/data/p_w_upload/forum/memcache-2.2.3.tgz

tar zxf memcache-2.2.3.tgz

php 下载   装了不需要装  没装重新从mysql 装起来

 http://cn2.php.net/get/php-5.4.45.tar.bz2/from/this/mirror

cd memcache-2.2.3

/usr/local/php/bin/phpize

运行/usr/local/webserver/php/bin/phpize时出现:
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
解决方法
# yum install m4
# yum install autoconf

 ./configure --with-php-config=/usr/local/php/bin/php-config
 make && make install

 ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/

vim /usr/local/php/etc/php.ini

cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so /usr/local/php/ext

ls !$

vim /usr/local/php/etc/php.ini

extension="memcache.so"  添加

 /usr/local/php/bin/php -m

wget www.apelearn.com/study_v2/.memcache.txt

/usr/local/php/bin/php test.php 

Memcached共享Session

1.7 Redis介绍和安装

http://www.apelearn.com/bbs/thread-9286-1-1.html


cd /usr/local/src

wget https://codeload.github.com/antirez/redis/tar.gz/2.8.21

mv  2.8.21  redis-2.8.21.tar.gz

tar zxvf redis-2.8.21.tar.gz

yum install -y epel-rele

yum install -y jemalloc-devel

make

make PREFIX=/usr/local/redis  install

 mkdir /usr/local/redis/etc

wget http://www.apelearn.com/study_v2/.redis_conf -O /usr/local/redis/etc/redis.conf 2>/dev/null

cat /usr/local/redis/etc/redis.conf

 wget http://www.apelearn.com/study_v2/.redis_init -O /usr/local/redis/etc/redis.conf 2 >/dev/null

useradd -s /sbin/nologin redis

 mkdir /usr/local/redis/var

chmod 777 /usr/local/redis/var/

vi /etc/init.d/redis

添加启动脚本

chmod 755 /etc/init.d/redis

chkconfig --add redis
service redis start
Redis数据结构

 /usr/local/redis/bin/redis-cli

alias redis-cli='/usr/local/redis/bin/redis-cli'

vi .bshre

cp /etc/skel/.bashrc .bashre 没有 就拷贝

 

#.bashre

#User specific allases and functions

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

alias redis-cli='/usr/local/redis/bin/redis-cli'


# Source global definitions

if [-f /etc/bashrc ]; then

       . /etc/bashrc

fi



redis-cli

 set key1 aminglinux

OK

127.0.0.1:6379> get key1

"aminglinux"

127.0.0.1:6379> mset key1 aminglinux key2 hello key3 love

OK

127.0.0.1:6379> mget key1 key2 key3

1) "aminglinux"

2) "hello"

3) "love"

redis-cli get key1

whereis redis  查看文件路径  安装地址

list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等。操作中key理解为链表的名字。

 lrange list1 0 -1

1) "123 456"

2) "aaa"

127.0.0.1:6379> lpop list1

"123 456"

127.0.0.1:6379> rpush list1 aaa

(integer) 2

127.0.0.1:6379> lrange list1 0 -1

1) "aaa"

2) "aaa"

-set

set是集合,和我们数学中的集合概念相似,对集合的操作有添加删除元素,有对多个集合求交并差等操作


 zadd myset2 12 "abc"

(integer) 1

127.0.0.1:6379> zadd myset2 12 "abc 123"

(integer) 1

127.0.0.1:6379> zadd myset2 12 "123-aaa"

(integer) 1

127.0.0.1:6379> zrange myset2 0 -1      正序

zrevrange myset2 0 -1           倒序


 hset hash3 name aaa

(integer) 1

127.0.0.1:6379> hset hash3 age 10

(integer) 1

127.0.0.1:6379> set hash3 sex nan

(error) ERR syntax error

127.0.0.1:6379> hset hash3 sex nan

(integer) 1

127.0.0.1:6379> hgettall hash3

(error) ERR unknown command 'hgettall'

127.0.0.1:6379> hgetall hash3

1) "name"

2) "aaa"

3) "age"

4) "10"

5) "sex"

6) "nan"

hget hash3 age

1.9 Redis持久化

2.0 Redis配置讲解(上)

 Redis配置讲解(下)

Redis主从配置

2.3 string类型常用命令

hash类型常用命令

 source .bashrc

echo $PATH

vi /etc/profile

export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

2.5 list类型常用命令

 set类型常用命令

 zset类型常用命令

 键值和服务器命令

2.9 php使用Redis存储

cd /usr/local/src

wget https://codeload.github.com/phpredis/phpredis/zip/develop

mv develop phpredis.zip

yum install -y unzip

 unzip phpredis.zip

cd phpredis-develop/

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config 

make

make install

 vi /usr/local/php/etc/php.ini

最后添加一行

extension = redis.so

vi /usr/local/apache2/conf/httpd.conf

去掉 servername  前的 #

lphp.ini中加入

  session.save_handler = "redis"

 session.save_path = "tcp://127.0.0.1:6379"

或者apache虚拟主机加入

php_valuesession.save_handler " redis" 

php_valuesession.save_path " tcp://127.0.0.1:6379" 

或者php-fpm.conf对应的pool中加入

php_value[session.save_handler] = redis

php_value[session.save_path] = " tcp://127.0.0.1:6379 

3.0 MongoDB介绍

3.1 MongoDB安装

http://www.apelearn.com/bbs/thread-9287-1-1.html

vim /etc/yum.repos.d/mongodb-org-3.0.repo
加入:
[mongodb-org-3.0]
name=MongoDB Repository
baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/   
gpgcheck=0
enabled=1

 yum install -y mongodb-org

ls /etc/init.d/mongod

ls /etc/mongod.conf

ls /var/log/mongodb/

ls /var/lib/mongo/

vim /etc/mongod.conf

/etc/init.d/mongod start

echo never > /sys/kernel/mm/transparent_hugepage/enabled

echo never > /sys/kernel/mm/transparent_hugepage/defrag

vim /etc/security/limits.con

mongod soft nofile 64000
mongod hard nofile 64000
mongod soft nproc 32000
mongod hard nproc 32000

service mongod start 

启动出现错误 第二个启动失败

 mongod -f /etc/mongod.conf

ERROR: child process failed, exited with error number 100

rm /var/lib/mongo/mongod.lock  删除  重启 就好了

MongoDB连接和用户管理

mongo

#创建用户      
db.createUser({user:"admin",pwd:"123456",roles:[{role:'dbOwner',db:'userdb'}]})
#查看用户
db.system.users.find()  //列出所有用户,需要切换到admin库下(use admin)
show users  //查看当前库下所有的用户
#删除用户,需要切换到admin库      
db.dropUser('admin')

3.3 MongoDB库和集合管理

db.version()

 MongoDB副本集搭建

MongoDB副本集测试

 MongoDB备份和恢复

 php连接MongoDB






相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...